例如,我有两个捆绑文件:A.js
和B.js
。但是只有B.js
依赖于模块C
。
第一次构建时,A.js
和B.js
都必须构建。但是,当C
模块得到更新时,下一次我运行build命令时,webpack应该只构建B.js
,它会自动为我执行构建优化。这样我可以节省很多构建时间。
Webpack可以实现吗?如果可以,应该如何配置我的webpack?
答案 0 :(得分:0)
这不是内置的Webpack功能,但是only-if-changed-webpack-plugin
只是这样做。最小用例:
const path = require('path');
const OnlyIfChangedPlugin = require('only-if-changed-webpack-plugin');
const opts = {
rootDir: process.cwd(),
devBuild: process.env.NODE_ENV !== 'production',
};
module.exports = {
output: {
filename: 'bundle.js',
path: path.join(opts.rootDir, 'build'),
pathinfo: opts.devBuild,
},
plugins: [
new OnlyIfChangedPlugin({
cacheDirectory: path.join(opts.rootDir, 'tmp/cache'),
cacheIdentifier: opts, // all variable opts/environment should be used in cache key
})
],
};