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

标签 javascript module three.js webpack bundler

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

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

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

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

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

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

最佳答案

这个假设:

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

错误的原因有两个:

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

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

关于javascript - Webpack:重复模块加载效率低下吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168663/

相关文章:

module - OCaml:变体类型和模块定义之间的循环

angular - requestAnimationFrame 只被调用一次

javascript - Object.defineProperty 在构造函数中不执行任何操作

javascript - 在不重新加载页面的情况下修改查询字符串

javascript - 具有普通概念javascript的自动完成文本框

typescript - 如何设置 Typescript 类以便我的浏览器和节点应用程序可以使用它?

vector - 三.js 设置和读取相机外观矢量

javascript - 未捕获的类型错误 : Cannot read property 'addMethod' of undefined

javascript - 删除除 input#cursor 之外的选定(突出显示的元素)

java - Gradle - 很多模块