.mjs 和 .js 文件扩展名之间的区别
.mjs
和 .js
文件扩展名都用于JavaScript文件。.mjs
文件扩展名是在ECMAScript模块系统中使用的,这是一种在浏览器和Node.js中实现模块化代码的新标准方式。
主要区别如下:
- 文件类型:
.mjs
文件是ECMAScript模块,而.js
文件是CommonJS模块。 - 导入导出语法:
.mjs
文件使用import
和export
语句,而.js
文件通常使用require
和module.exports
。 - 默认导出:
.mjs
文件中只能有一个默认导出,而.js
文件可以有多个默认导出。 - 文件名:当在Node.js中使用
.mjs
文件时,必须显式地指定文件名,Node.js默认不会将.mjs
文件视为模块。
在Node.js中使用 .mjs
文件:
node --experimental-modules my-script.mjs
或者,在 package.json
中指定主入口文件:
{
"type": "module",
"main": "./my-script.mjs"
}
然后直接运行:
node my-script.mjs
注意:在Node.js中使用 .mjs
文件需要启用实验性的模块特性。
评论已关闭