12.Node.js模块化:CommonJS 标准和ECMAScript标准
在Node.js中,有两种模块化的标准:CommonJS 和 ECMAScript (ES) 标准。
CommonJS 标准:
- 同步加载模块
- 每个模块都有自己的作用域
- 通过
require
来引入模块,通过module.exports
来导出模块
ECMAScript 标准(ES 模块):
- 异步加载模块
- 使用
import
和export
关键字
例子:
CommonJS 风格:
// math.js
module.exports = {
add(a, b) {
return a + b;
},
subtract(a, b) {
return a - b;
}
};
// 使用 math.js
const math = require('./math.js');
console.log(math.add(2, 3)); // 输出: 5
ES 模块风格:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
// 使用 math.js
import { add, subtract } from './math.js';
console.log(add(2, 3)); // 输出: 5
在Node.js中,你可以通过在文件顶部添加特殊的注释"use strict"
或者在Node.js的配置文件.npmrc
中设置"type": "module"
来启用ES模块。
评论已关闭