我有一个包含多个条目和一个公共块的 webpack 构建。有时我会加载,entry1
有时我会加载entry1
和entry2
,有时会加载条目 2 和 3。无论如何,我总是包含公共块。
一切似乎都很好,捆绑的文件很好。但是运行时似乎有问题。当我需要两个条目并且它们都依赖于某个模块(即在公共文件中)时。该模块被评估两次。
简单的例子:
entry1.js
require('./dep.js');
entry2.js
require('./dep.js');
deps.js
alert('called')
module.exports = 2;
在这里,我看到警报被调用了两次。我期待 webpack 做类似的事情node.js
并缓存需求。
我仔细检查了文件的内容deps.js
确实在common.js
文件中,并通过在显示上放置一个断点来alert
多次调用相同的代码。这不是预期的。
有没有办法解决这个问题?