使用Node.js require与ES6导入/导出

kpimov:

在我正在合作的项目中,关于可以使用哪种模块系统,我们有两个选择:

  1. 导入使用的模块require,并使用导出module.exportsexports.foo
  2. 使用ES6导入模块import,并使用ES6导出export

一项使用另一项有什么性能上的好处?如果要在Node模块上使用ES6模块,还有其他什么应该知道的吗?

费利克斯·克林(Felix Kling):

一项使用另一项有什么性能上的好处?

请记住,还没有JavaScript引擎本地支持ES6模块。您说自己正在使用Babel。无论如何,Babel都会默认将其转换importexport声明为CommonJS(require/ module.exports)。因此,即使您使用ES6模块语法,但如果在Node中运行代码,您也会在后台使用CommonJS。

CommonJS和ES6模块之间存在技术差异,例如,CommonJS允许您动态加载模块。ES6不允许这样做,但是正在为此开发一个API

由于ES6模块是标准的一部分,因此我将使用它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章