我最近的项目一直使用webpack
,但是我有一些旧项目使用grunt
或gulp
或其他。
在那种情况下,我仍然会喜欢像webpack
这样的捆绑器,该捆绑器具有极少的配置即可使用ES6导入等。
如何从诸如webpack
或运行时间较长的节点脚本中执行单个gulp
捆绑包命令?
我可以生成一个子流程并调用webpack
,但我很好奇如何在JS中通过遗留工具链使用它。
webpack({...}) // does nothing
我发现在其他一些堆栈溢出帖子上使用了webpack().apply()
,并且webpack
编译了一次,但在gulp
中调用时却没有第二次编译任务。
(function exampleCreateBundle() => {
const compiler = webpack({
entry: './_js/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'js')
}
});
compiler.apply(new ProgressPlugin(function(percentage, msg) {
console.log((percentage * 100) + '%', msg);
}));
// works once
})();
感谢您的帮助!
更新:
老实说,我只是生成一个子进程并运行npx webpack
。
这是一个学术问题。