这可能是make
而非webpack
问题。
我正在使用好的'make
来管理依赖项和构建,并使用webpack
来构建JS组件。例如:
生成文件:
foo.js: src/foo.js
webpack -p
bar.js: src/bar.js
webpack -p
webpack.config.js
:
var webpack = require('webpack');
module.exports = {
entry: {
'foo': './src/foo.js',
'bar': './src/bar.js',
},
output: {
path: './',
filename: '[name].js',
}
};
很明显,每当src/{foo,bar}.js
任何更改时,Webpack都会运行并构建这两个文件。这可能无法修复,因为我已经读到这是故意的(为了满足模块之间可能的交互)。
然而,当两个发生变化时,Webpack将运行两次,因为这些食谱彼此不知道。这是不必要的,并且很快失控。
是否有可能“收集”文件并使Webpack只运行一次,与多少源文件的更改无关?
答案 0 :(得分:0)
您可以从命令行指定入口点:
foo.js: src/foo.js package.json
webpack -p --entry src/foo.js
bar.js: src/bar.js package.json
webpack -p --entry src/bar.js
答案 1 :(得分:0)
This answer让我走上正轨。 GNU Make只运行一次所谓的pattern rules的配方。因此,将我的Makefile更改为可以完成一次运行Webpack的技巧:
foo.j% bar.j%:
webpack -p
foo.js: src/foo.js
bar.js: src/bar.js