kpimov:
在我正在合作的项目中,关于可以使用哪种模块系统,我们有两个选择:
- 导入使用的模块
require
,并使用导出module.exports
和exports.foo
。
- 使用ES6导入模块
import
,并使用ES6导出export
一项使用另一项有什么性能上的好处?如果要在Node模块上使用ES6模块,还有其他什么应该知道的吗?
费利克斯·克林(Felix Kling):
一项使用另一项有什么性能上的好处?
请记住,还没有JavaScript引擎本地支持ES6模块。您说自己正在使用Babel。无论如何,Babel都会默认将其转换import
并export
声明为CommonJS(require
/ module.exports
)。因此,即使您使用ES6模块语法,但如果在Node中运行代码,您也会在后台使用CommonJS。
CommonJS和ES6模块之间存在技术差异,例如,CommonJS允许您动态加载模块。ES6不允许这样做,但是正在为此开发一个API。
由于ES6模块是标准的一部分,因此我将使用它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句