ECMAScript (简称 ES)模块化 JavaScript 代码以供重用的官方标准格式,它使用 import 和 export 语句定义模块:
// 模块导入示例
import myFunc from './my-func';
// 模块导出示例
export myOtherFunc(param) {
const result = myFunc(param);
// ....
return otherResult;
}
Node.js 于 13.2.0 内置支持 ES 模块,下面将描述如何在 Node.js 中启用及使用 ES 模块。
在 Node.js 中启用 ES 模块
默认情况下,Node.js 将 JavaScript 代码视为 CommonJS 模块,可通过以下方式启用 ECMAScript 模块:
- 设置模块的文件扩展名为 .mjs
- 在 package.json 中添加 { “type”: “module” }
- node --input-type=module --eval “”,将模块的代码作为字符串传递 STDIN
本文主要介绍文件扩展名(.mjs)和文件配置( {“type”: “module”})这两种方式。
.mjs文件扩展
使用 .mjs 文件扩展名告诉 Node.js 以 ECMAScript 格式对待模块的一种简单方法。