Webpack 如何消除多个捆绑包之间的依赖关系?

Webpack 如何消除多个捆绑包之间的依赖关系?,webpack,react,Webpack,React,奠定基础: 我在一个大型网站上工作,多个开发人员同时处理多个模块 这些模块的代码位于不同的存储库中 模块是单独捆绑的 所有这些模块都使用并共享公共依赖项(例如)绑定到脚本中 与模块关联的脚本分别加载到页面上 这造成了大量的脚本复制问题。现在页面上有5个模块依赖于React^v15.3.0。这是133K x 5,仅用于React依赖项 如何消除多个捆绑包之间的依赖关系 我愿意考虑对连续部署、捆绑等策略进行更高级别的抽象(例如,使用单片存储库模式,如果这对设置有好处的话)因此,每个模块都将其依赖

奠定基础:

  • 我在一个大型网站上工作,多个开发人员同时处理多个模块
  • 这些模块的代码位于不同的存储库中
  • 模块是单独捆绑的
  • 所有这些模块都使用并共享公共依赖项(例如)绑定到脚本中
  • 与模块关联的脚本分别加载到页面上
这造成了大量的脚本复制问题。现在页面上有5个模块依赖于React^v15.3.0。这是133K x 5,仅用于React依赖项

如何消除多个捆绑包之间的依赖关系


我愿意考虑对连续部署、捆绑等策略进行更高级别的抽象(例如,使用单片存储库模式,如果这对设置有好处的话)

因此,每个模块都将其依赖项捆绑到一个独立的工件中,然后将这些较小的模块捆绑在一起?每个模块都将其依赖项捆绑到一个独立的工件中,然后将该工件作为HTML文档中的独立脚本进行请求。设计的这一部分是可以改变的。事实上,只要:每个模块都可以有自己的依赖关系树(例如,不同的React版本必须能够在模块之间共存),所有内容都可以更改。模块从不包含它们的依赖关系。看看angular bootstrap之类的东西,它本身并没有显式地包含angular的版本。这些依赖项应该包含在应用程序中,而不是单个模块中。您的建议不起作用,因为我之前共享了一个约束(“每个模块都可以有自己的依赖项树”)。可能更好的例子是bootstrap.js不包含JQuery,但会告诉您它与哪个版本的JQuery相比较。