小编典典

.js 和 .mjs 文件有什么区别?

all

我已经开始研究基于 Node.js 的现有项目。我只是想了解执行流程,我遇到了一些*.mjs文件。我搜索了网页,发现这些是基于模块的 JS 文件。

我想知道它与*.js文件有什么不同(它有什么好处)?


阅读 283

收藏
2022-06-28

共1个答案

小编典典

它表示一个 ES6 模块文件。


Node.js
的原始模块系统是CommonJs(使用requiremodule.exports)。

自创建 Node.js 以来,ECMAScript
模块系统
(使用importexport)已成为标准,并且
Node.js 增加了对它的支持。

Node.js 会将.cjs文件视为 CommonJS 模块,将.mjs文件视为 ECMAScript 模块。它将文件视为项目的默认模块系统(除非
package.json.js是 CommonJS )。 __"type": "module",

参见:ES6 模块系统和 CommonJs
的区别

2022-06-28