JavaScript - CommonJs AMD CMD 的简单使用和区别
CommonJS
node.js 就是用 CommonJs规范 来管理 模块的
实际使用时(node.js 不支持es6的import语法)
- 使用
require
来导入你需要使用到的模块. - 使用
exports.xxx
(普通暴露,可以暴露多个)或者moudle.exports(默认暴露,只能向外暴露一个)
带导出当前模块输出的接口// 定义 Math.js 模块. function sum(num1,num2) { return num1 + num2 } // exports.sum= sum不推荐这种写法. module.exports = { sum }
// 使用 Math.js 模块 const math = require('./Math') math.sum(1,2)
CommonJs 使用 同步的方式 加载模块.,模块执行的环境在本地的服务器的Node环境中.
AMD --- RequireJS (浏览器端运行)
模块化:将复杂的系统分解为高内聚、低耦合的模块,使系统开发变得可控、可维护、可拓展,提高模块的复用率。
AMD是异步加载模块的,所以一些有依赖关系的模块一般会放到异步加载的回调函数里面执行,以参数的形式提供。
requireJS
是 AMD
的这套标准的代表,实现模块快开发. 提倡依赖前置
- 使用 requireJS 提供的
define()
来定义模块 - 使用 requireJS 提供的
require()
来使用模块
CMD -- 提倡依赖后置 用到某些依赖的时候采取加载 (浏览器端运行)
本文来自博客园,作者:我爱小番茄,转载请注明原文链接:https://www.cnblogs.com/l-y-c/p/12743211.html