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

时间:2019-08-14 10:04:31

标签: javascript node.js mjs

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

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

2 个答案:

答案 0 :(得分:5)

Node.js的本机模块系统是CommonJs

它具有对标准ES6 module system的实验性支持,使用.mjs文件扩展名是触发该支持的一种方法。

简而言之,Node.js使用它来区分CommonJS和ES6模块文件。

Differences between ES6 module system and CommonJs

答案 1 :(得分:1)

为清楚起见。对于开发人员/人来说,很容易区分模块文件(.mjs)和普通javascript文件(.js)...,因为即使您检查文件中的代码也不总是很容易确定。

还有性能优势,使您有更多理由考虑使用它。 V8(支持Google Chrome的JavaScript引擎)建议使用.mjs,但仍取决于您的情况。如果您想了解更多优点,请检查https://v8.dev/features/modules#mjs