【问题标题】:Is there a performance difference between ES Modules and CommonJS in Node 16+?Node 16+ 中的 ES 模块和 CommonJS 之间是否存在性能差异?
【发布时间】:2021-11-01 10:20:38
【问题描述】:

我正在处理一个仍将 TS 转换为 commonJS 以在 Node.js 上运行的项目。现在该节点已经开始向 ES Modules 迁移,从 commonjs 迁移是否有性能优势?还是表面上的区别?

我知道在以前的版本中不支持原生 ESM,因此较旧的答案和其他问题似乎已经过时。因此,我似乎无法找到一个好的答案。

【问题讨论】:

  • 我也很想知道这个
  • 鉴于更易读的语法,ES 模块提供更好的开发人员性能。

标签: node.js typescript es6-modules


【解决方案1】:

CommonJS 同步加载模块,ES 模块是异步的。

使用 require() 的一个限制是它会加载模块 同步。这意味着模块被加载和处理一个 一个。

正如您可能已经猜到的那样,这可能会导致一些性能问题 数百个模块的大型应用程序。在这种情况下, 基于其异步行为,import 可能会优于 require()。

然而,require() 的同步特性可能不是很重要 使用几个模块的小规模应用程序的问题。

以上文字直接引用自https://blog.logrocket.com/commonjs-vs-es-modules-node-js/

【讨论】:

    猜你喜欢
    • 2022-12-14
    • 2021-11-05
    • 2012-03-05
    • 2014-02-23
    • 2010-10-02
    • 2014-05-17
    • 2014-04-19
    • 2012-08-21
    • 2019-06-15
    相关资源
    最近更新 更多