我已经开始研究基于nodejs的现有项目。我只是想了解执行流程,我遇到了一些.mjs文件。我在网上搜索,发现它们是基于模块的JS文件。
我想知道它与.js文件有什么不同(它有什么好处)?
答案 0 :(得分:5)
Node.js的本机模块系统是CommonJs。
它具有对标准ES6 module system的实验性支持,使用.mjs
文件扩展名是触发该支持的一种方法。
简而言之,Node.js使用它来区分CommonJS和ES6模块文件。
答案 1 :(得分:1)
为清楚起见。对于开发人员/人来说,很容易区分模块文件(.mjs)和普通javascript文件(.js)...,因为即使您检查文件中的代码也不总是很容易确定。
还有性能优势,使您有更多理由考虑使用它。 V8(支持Google Chrome的JavaScript引擎)建议使用.mjs,但仍取决于您的情况。如果您想了解更多优点,请检查https://v8.dev/features/modules#mjs