Javascript 如何使用节点中的某些选项运行webpack

Javascript 如何使用节点中的某些选项运行webpack,javascript,node.js,webpack,Javascript,Node.js,Webpack,我目前有一个package.json文件,其中包含以下脚本: "build": "webpack --inline --colors --progress --display-error-details --display-cached", 我的存储库的根目录中还有一个webpack.config.js 我正试图通过将npm脚本移动到单独的.js文件中来减少它们的冗长。我做了一些简单的工作(使用rimraf和一个简单的副本进行清理),但我很难从(节点)javascript文件调用webpack

我目前有一个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…

关于进度,这个答案对我很有用。。


你看了吗?我相信您必须自己实现CLI的一些功能,因为
webpack(…)
本身不会生成任何输出。或者生成一个子进程。谢谢我查看了节点api,但没有找到我要查找的内容。我想这不是完全可能的,除非像你提到的那样生成一个子进程。如果你把它作为一个答案,我很乐意接受。在你的例子中,你从哪里知道“拒绝”和“解决”?
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)
 })