如何从节点运行具有特定选项的webpack

How to run webpack with certain options from node

本文关键字:选项 webpack 节点 运行      更新时间:2023-09-26

我目前有一个包含以下脚本的package.json文件:

"build": "webpack --inline --colors --progress --display-error-details --display-cached",

我在存储库的根目录下还有一个webpack.config.js。

我正试图通过将npm脚本移动到单独的.js文件中来减少它们的繁琐。我已经做了一些简单的操作(使用rimraf和一个简单的副本进行清理),但我很难从(节点)javascript文件调用webpack。这就是我尝试过的:

// contents of ./build/compile.js
var webpack = require('webpack');
var webpackConfig = require('../webpack.config.js');
webpack(webpackConfig);

这毫无作用。我也试过:

// contents of ./build/compile.js
var webpack = require('webpack');
webpack({
    inline: true,
    colors: true,
    // and so on
});

这也没有任何作用。仅仅调用webpack()也没有任何作用。。。

我的意思是,它也不会出错。

那么,我如何调用webpack,让它使用我的配置文件,同时传递像--inline --colors --progress ...这样的标志呢?

关于进度,这个答案对我有效。。https://stackoverflow.com/a/31069781

var ProgressPlugin = require('webpack/lib/ProgressPlugin')
var compiler = webpack(cfg)
compiler.apply(new ProgressPlugin((percentage, msg) => {
    console.log((percentage * 100) + '%', msg);
 }))
 compiler.run((err, stats) => {
     if (err) return reject(err);
     resolve(stats)
 })