我正在尝试使用Webpack构建我的应用程序的缩小版和非缩小版( js 和 css )。
这可以通过使用-p
或--optimize-minimize
开关的命令行界面轻松完成:
webpack
webpack -p
但是,我想用一个命令执行这些操作,所以我决定编写一个小的Node.js脚本来运行这两个Webpack构建:
var webpack = require('webpack');
var config = require('./webpack.config');
webpack(config, callback); // Build unminified version
所以问题是:我可以从Node.js脚本中将上述-p
参数传递给Webpack,以构建缩小版本吗?或者也许有一种更简单的方法来解决我的特定问题?
当然,我可以使用child_process.exec()
,但我认为它不是真正的Node.js方式。
答案 0 :(得分:2)
创建默认配置以将webpack打开一个未打开的版本。使用该配置运行webpack。从代码更改配置并再次运行webpack。这是一个代码示例。
var webpack = require('webpack');
//assuming the config looks like this.
var config = {
entry: "./entry.js",
output: {
devtoolLineToLine: true,
sourceMapFilename: "./bundle.js.map",
pathinfo: true,
path: __dirname,
filename: "bundle.js"
},
module: {
loaders: [
{ test: /\.css$/, loader: "style!css" }
]
},
plugins: []
};
webpack(config).run(); // Build unminified version
config.output.filename = 'bundle.min.js'
config.plugins = [
new webpack.optimize.UglifyJsPlugin({
include: /\.min\.js$/,
minimize: true
})];
webpack(config).run(); // Build minified version
答案 1 :(得分:0)
键p
是设置节点环境变量process.env.NODE_ENV="production"
的别名,如here所述