【发布时间】:2020-02-13 12:23:36
【问题描述】:
我设置了一个具有 2 个子模块依赖项的父模块。父模块没有指定的 jQuery 依赖项,但每个子模块都指定 jQuery ^3.3.1 作为依赖项(每个子模块的结果为 3.4.1)。我对父模块进行了 Webpacked,然后在生成的捆绑文件中看到 jQuery 3.4.1 包含两次。我应该怎么做才能不包含两次相同版本的 jQuery?我确实尝试了 splitchunks 插件,它确实生成了块,但 jQuery 仍然在那里两次。我以为Webpack应该自动分析模块图中的依赖关系并优化捆绑的代码?我还没有测试过 NPM 对等依赖项或 Webpack 重复数据删除插件。我还想知道 jQuery 本身是否存在 Webpack 无法/决定不自动删除重复数据的地方?
在两个子模块的 index.js 文件中,我都在使用:
import $ from "jquery"
在我指定的每个子模块的 package.json 中:
"dependencies": {
"jquery" : "^3.3.1"
}
然后我对每个子模块进行了 npm 安装。
【问题讨论】:
标签: javascript jquery webpack