在 Node.js 中使用 ECMAScript 模块

17 min read

在 Node.js 中,可以使用 ECMAScript 模块(也称为 ES 模块)来组织和导入/导出代码。ECMAScript 模块是一种标准化的模块化系统,它已经成为 ECMAScript 6(ES6)的一部分,并得到了 Node.js 的支持。

要在 Node.js 中使用 ECMAScript 模块,首先创建一个有导出内容的模块文件,例如 utils.js

// utils.js
export function add(a, b) {
  return a + b;
}

export function subtract(a, b) {
  return a - b;
}

然后,在其他文件中使用 import 语句导入这个模块,并使用导出的内容:

// main.js
import { add, subtract } from './utils.js';

console.log(add(5, 3));      // 输出:8
console.log(subtract(5, 3)); // 输出:2

在上面的示例中,import { add, subtract } from './utils.js'; 导入了 utils.js 模块中导出的 addsubtract 函数。然后,可以使用这些函数来执行加法和减法操作。

需要注意的是,使用 ECMAScript 模块时,需要将导入和导出的代码放在具有 .mjs 扩展名的文件中,或者在 package.json 文件中的 "type" 字段中设置为 "module"

还要注意的是,在 Node.js 中,使用 ECMAScript 模块与使用 CommonJS 模块(requiremodule.exports)不能混用。因此,在使用 ECMAScript 模块时,无法直接导入或导出 CommonJS 模块。