Bonjour tous le monde !
Je débute avec webpack et j'essaye d'apprivoiser l'outil en bidouillant.
J'essaye de me faire un projet où j'importerai bootstrap mais en sass.
j'ai donc fait comme ceci :
const path = require('path');
const webpack = require("webpack");
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
module.exports = env =>{
let dev = env.NODE_ENV === 'dev';
let config = {
entry : './assets/js/app.js',
output : {
path : path.resolve('./dist'),
filename : 'bundle.js'
},
watch : dev,
module : {
rules: [{
test: /\.scss$/,
use: [{
loader: "style-loader" // creates style nodes from JS strings
}, {
loader: "css-loader" // translates CSS into CommonJS
}, {
loader: "sass-loader" // compiles Sass to CSS
}]
}]
},
plugins : [
new webpack.ProvidePlugin({
jQuery: 'jquery',
$: 'jquery',
jquery: 'jquery'
})
]
};
if (!dev){
config.plugins.push(new UglifyJSPlugin())
}
return config;
}
dans mon fichier scss je fais juste un import de bootstrap sass :
@import "~bootstrap-sass";
Quand je compile j'ai une erreur :
ERROR in ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./assets/css/app.scss
Module build failed:
if (typeof jQuery === 'undefined') {
^
Invalid CSS after "if": expected "{", was "(typeof jQuery === "
in /Users/deshiloh/Sites/test/webpack/node_modules/bootstrap-sass/assets/javascripts/bootstrap.js (line 7, column 4)
@ ./assets/css/app.scss 4:14-121
@ ./assets/js/app.js
J'ai pourtant importé jQuery de façon automatique mais pourtant apparemment il n'est pas défini ici.
Je suis un peu bloqué ^^'
Merci d'avance pour l'aide :)