模块化 cmd amd commonjs
时间: 2023-05-25 13:03:13 浏览: 136
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结.docx
模块化是一种将程序中的代码按照一定的规则拆分成独立的模块,使得代码的维护和复用更加方便的技术。在 JavaScript 中,有三种常见的模块化规范:CommonJS、AMD(Asynchronous Module Definition)和CMD(Common Module Definition)。
CommonJS 是 Node.js 默认的模块化规范,它主要用于服务器端的 JavaScript 开发。它定义了一个 require 函数来加载模块,一个 exports 对象来导出接口,并支持模块的循环依赖。CommonJS 规范的代码示例:
```javascript
// 导出模块
exports.add = function (num1, num2) {
return num1 + num2;
}
// 加载模块
var math = require('math');
console.log(math.add(2, 3));
```
AMD 是一种异步加载模块的规范,主要用于浏览器端的 JavaScript 开发。它需要使用一个专门的模块加载器来异步加载模块,比如 requirejs。
```javascript
// 定义模块
define(['jquery'], function ($) {
function add(num1, num2) {
return num1 + num2;
}
return {
add: add
}
});
// 加载模块
require(['math'], function (math) {
console.log(math.add(2, 3));
});
```
CMD 是另一种异步加载模块的规范,与 AMD 类似,也需要使用一个专门的模块加载器来异步加载模块,比如 sea.js。
```javascript
// 定义模块
define(function (require, exports, module) {
var $ = require('jquery');
function add(num1, num2) {
return num1 + num2;
}
exports.add = add;
});
// 加载模块
seajs.use('math', function (math) {
console.log(math.add(2, 3));
});
```
总的来说,CommonJS 主要用于服务器端的 JavaScript 开发,AMD 和 CMD 主要用于浏览器端的 JavaScript 开发,它们都帮助我们更好地组织和复用代码。同时,由于 ECMAScript 6 以后原生支持模块化,使用 import 和 export 关键字即可实现模块化编程,更加简洁方便。
阅读全文