我已经开始研究基于 Node.js 的现有项目。我只是想了解执行流程,我遇到了一些 *.mjs
文件。我搜索了网页,发现这些是基于模块的 JS 文件。
我想知道它与 *.js
有何不同文件(它有什么好处)?
最佳答案
它表示一个 ES6 模块文件。
Node.js的原始模块系统是CommonJs (使用 require
和 module.exports
)。
由于创建了 Node.js,ECMAScript module system (使用 import
和 export
)已成为标准,Node.js 已添加对它的支持。
Node.js 将处理 .cjs
文件作为 CommonJS 模块和 .mjs
文件作为 ECMAScript 模块。它将对待.js
文件作为项目的默认模块系统是什么(这是 CommonJS,除非 package.json 说 "type": "module",
)。
另见:Differences between ES6 module system and CommonJs
关于javascript - .js 和 .mjs 文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57492546/