我使用gulp运行Webpack,使用webpack-stream。
我使用这个config并且可以和我一起工作。
如何从gulp运行Webpack production-build webpack -p ?
答案 0 :(得分:2)
根据webpack documentation使用webpack -p
等同于以下内容:
webpack --optimize-minimize --define process.env.NODE_ENV="'production'"
这两个选项分别添加了webpack.optimize.UglifyJsPlugin
和webpack.DefinePlugin
。
您需要做的是在webpack配置中手动添加这两个插件。
基于您链接到的the other answer应该如下所示:
var gulp = require('gulp');
var webpackStream = require('webpack-stream');
var webpack2 = require('webpack');
gulp.task('default', function() {
var options = {
plugins: [
new webpack2.DefinePlugin({
'process.env': { 'NODE_ENV': "'production'" }
}),
new webpack2.optimize.UglifyJsPlugin()
]
};
return gulp.src('src/entry.js')
.pipe(webpackStream(options, webpack2))
.pipe(gulp.dest('dist/'));
});
答案 1 :(得分:1)
Webpack 4支持在配置对象中指定mode: "production"
。
这是配置(从Sven的答案无耻地借用):
var gulp = require('gulp');
var webpackStream = require('webpack-stream');
var webpack4 = require('webpack'); // Assuming we've installed Webpack 4+
gulp.task('default', function() {
var options = {
mode: "production"
};
return gulp.src('src/entry.js')
.pipe(webpackStream(options, webpack4))
.pipe(gulp.dest('dist/'));
});