分别介绍一下 cjs 和 mjs
时间: 2024-09-15 15:10:49 浏览: 31
mjs:适用于CC ++的嵌入式JavaScript引擎
CommonJS (CJS) 和 ESM (ECMAScript Modules) 是JavaScript模块系统的两种不同实现。
**CommonJS (CJS):**
在CJS中,如引用[1]所示,模块是通过`require()`函数加载的。文件通常以`.js`结尾,比如`commonjs.js`。每个文件作为一个独立的执行上下文运行,有自己的作用域。当一个模块被`require()`时,它的代码会被立即执行,然后导出的对象可以被其他模块访问。例如:
```javascript
// commonjs.js
module.exports = {
add: function(a, b) { return a + b; }
};
// 使用 require 导入并调用 add 函数
const math = require('./math.js');
console.log(math.add(1, 2)); // 输出:3
```
**ES Modules (ESM):**
ESM则是ES6引入的一种模块系统,文件名通常以`.mjs`结尾。它采用静态导入和导出机制,不需要预先加载整个模块,只有实际使用的部分才会被加载。使用`import`和`export`关键字来导入和导出。示例如下:
```javascript
// math.mjs
export default {
add: function(a, b) { return a + b; }
};
// 使用 import 导入并调用 add 函数
import { add } from './math.mjs';
console.log(add(1, 2)); // 输出:3
```
阅读全文