我已经开始基于Node.js的现有项目工作。我只是想了解执行的流动,我遇到了一些*.mjs
文件。我搜索了网络,发现这些是基于模块的JS文件。
我想知道它与*.js
文件(它如何受益)?
答案
它指示一个ES6模块文件。
Node.js的原始模块系统是commonjs(使用require
和module.exports
)。
由于创建了node.js,ECMAScript模块系统(使用import
和export
)已成为标准,node.js为其增加了支持。
node.js会治疗.cjs
文件作为commonjs模块和.mjs
文件作为eCmascript模块。它将对待.js
文件作为项目的默认模块系统是什么(除非包.json 说"type": "module",
)。
也可以看看:ES6模块系统和CommonJs的区别