繁体   English   中英

从Node.js向Webpack传递参数

[英]Pass an argument to Webpack from Node.js

我正在尝试使用Webpack构建我的应用程序( jscss )的最小版本和最小版本。
这可以通过命令行界面使用-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方法。

创建默认配置以将未压缩的版本打包到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

密钥p是一个别名设置节点环境变量process.env.NODE_ENV="production"描述这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM