Webpack:重复模块加载效率低下吗?

时间:2016-07-03 09:41:33

标签: javascript module three.js webpack bundler

根据我的理解,webpack(和其他类似的捆绑商)确保如果应用程序的多个部分需要相同的模块:

  • 该代码只会加载一次
  • 每次需要相同的模块时,都会创建一个新实例,而不是所有实例共享相同的范围

首先,我的上述假设是否正确?如果是这样,那么创建同一模块的多个实例是不是很糟糕?

在我的示例中,我正在创建一个将使用ThreeJS的应用程序。这是一个相当大的图书馆。我的应用程序中的许多模块都需要这个库。

继续要求像这样的图书馆是不好的做法?或者我应该将单个实例从模块传递给模块而不是多次需要?

如果确实存在问题,我有兴趣知道是否有任何常见的处理方式。

1 个答案:

答案 0 :(得分:1)

这个假设:

  

每次需要相同的模块时,都会创建一个新实例,   而不是所有人共享相同的范围

错误有两个原因:

  • 是否创建实例,将取决于所需模块返回的内容(它可能不返回任何内容)。
  • 即使模块初始化一个实例,也只会创建一个实例,因为模块中的代码只运行一次。

话虽如此,多次要求同一模块应该对性能没有影响。

相关问题