在同一页面中具有多个反应包的性能影响

时间:2019-07-01 15:02:51

标签: javascript reactjs performance webpack

因此,我有一个HTML页面(主页),其中引用了由两个不同的团队(例如app1.js和app2.js)创建的2个javascript包。

<html>
<script src='path to app1.js'/>
<script src='path to app2.js' />
</html>

两个团队都使用react和react-dom。

在两个包中同时使用react和react-dom似乎是多余的。

是否可以在不具有反应/反应-dom的情况下创建单页应用程序的生产捆绑包,以便主页看起来像这样?

<html>
<script src='path to react-cdn.js'/>
<script src='path to react-dom-cdn.js' />
<script src='path to app1.js without react/react-dom'/>
<script src='path to app2.js without react/react-dom' />
</html>

如果两个团队都使用不同版本的react / react-dom,是否会导致版本冲突?

请注意:

  1. 这些团队在单独的代码库中单独工作。
  2. 我控制主页。但是我无法控制球队。意思是,我不能将它们组合成一个。
  3. 他们将需要在开发环境中做出反应并做出反应。
  4. 两个团队都使用Webpack。

1 个答案:

答案 0 :(得分:1)

您可以为此使用Webpack externals

我们有一个类似的设置,其中同一页面中有多个反应包。因此,在每个束中都没有反应,反应范围,时刻等是没有意义的。

您可以尝试以下操作:

  • 在html页面中提供react和react-dom作为全局依赖项
  • 让两个团队都一起工作那些版本的react和react-dom
  • 使用Webpack外部组件来避免生产中的反应和反应现象 捆绑包。