首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制WebPack使用一个版本的模块(而不是6个不同的版本?)

如何强制WebPack使用一个版本的模块(而不是6个不同的版本?)
EN

Stack Overflow用户
提问于 2020-10-28 18:33:34
回答 1查看 2.2K关注 0票数 3

在我们的项目中,Webpack-bundle-analyzer插件说捆绑包使用特定模块(js文件)6次。

什么是最好的方式来制作项目,因为它只使用一个(而不是多)?我知道他们可能是依赖者的依赖,但如何解决这样的问题呢?

我可以手动检查我的应用程序是否可能出现代码中断,但目标肯定是使用一个bn.js__。我们的package.json不直接将其包含在任何依赖项中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 08:43:36

这种情况的发生可能是因为您的应用程序(或它的依赖项)需要不同版本的相同库。

不建议通过黑客攻击Webpack的配置来“强迫”同样的版本(这是可能的)。语义版本控制是有意义的,如果库碰到了一个主要版本,这意味着它包含了破坏更改

更好的方法将是手动对齐库(或其使用者)的版本。

您可以运行yarn why lib-namenpm ls lib-name,它将打印出消耗库和版本的依赖项列表,这将帮助您升级依赖项,以便对齐版本。

如果仍然想强制执行,可以检查这些解决方案https://github.com/webpack/webpack/issues/6505

  1. 使用yarn resolutions只安装一个版本。
  2. 使用webpack别名,将lib-name化名到一个特定的路径(每个不同的版本都安装在node_modules node_modules上,每个不同的版本都安装在node_modules应用程序中,仅通过

G 216解析)

代码语言:javascript
复制
// webpack.config.js
module.exports = {
  ...
  modules: [
    path.join(__dirname, '../node_modules')
  ]
  ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64579239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档