Решил заморочиться и скрестить Gulp с Webpack. Плохо это или хорошо оставим за скобками.
В вебпаке это делается через плагин вебпака webpack.ProvidePlugin()
module.exports = {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}),
]
};
В Gulp я делаю вот такой вот пердимонокль:
...
webpack = require('webpack'),
webpackStream = require('webpack-stream');
...
// Сбор js
gulp.task('js:build', function () {
return gulp.src(path.src.js)
.pipe(webpackStream({
output: {
filename: 'main.js',
},
module: {
rules: [
{
test: /\.(js)$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
query: {
presets: ['@babel/env']
}
},
]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}),
],
mode: "production",
// externals: {
// jquery: 'jQuery'
// }
}))
.pipe(gulp.dest(path.build.js))
.pipe(rename({ suffix: '.min' }))
.pipe(gulp.dest(path.build.js))
.pipe(webserver.reload({ stream: true }));
});
Выдается следующая ошибка:
[21:40:41] 'js:build' errored after 7.55 s
[21:40:41] Error: module property was removed from Dependency (use compilation.m
oduleGraph.updateModule(dependency, module) instead)
at ProvidedDependency.set (C:\.........\node_modules\we
bpack\lib\Dependency.js:226:9)
В чём собственно говоря здесь затык?
Как вообще подключать плагины для вебпака в галп, используя webpack-stream?