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

Webpack: Is duplicate module loading inefficient?

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

首先,我的上述假设是否正确?如果是这样,创建同一模块的多个实例是不是优化不好?

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

继续要求这样的库是不是不好的做法?或者我应该将单个实例从一个模块传递到另一个模块,而不是要求多次?

如果这确实是一个问题,我很想知道是否有任何通用模式来处理这个问题。

这个假设:

Each time the same module is required, a new instance is created, rather than all sharing the same scope

错误的原因有两个:

  • 是否创建实例,将取决于所需模块 return 编辑了什么(它可能 return 什么都没有)。
  • 即使模块初始化一个实例,也只会创建一个,因为模块中的代码只有运行一次

话虽如此,多次请求同一个模块应该不会影响性能。