JavaScript的模块规范有哪些
时间:2022-02-18 18:30
JavaScript的模块规范有:1、CommonJS规范;2、AMD(异步模块定义)规范;3、CMD(公共模块定义)规范;4、UMD规范(AMD和CommonJS的糅合)。 本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。 常见的JavaScript 模块化规范有3种,CommonJS、AMD(异步模块定义)、CMD(公共模块定义) 服务端 :NodeJS 服务:CommonJS规范,新版本的Node也可以启用ES6 Module功能 浏览器端:主要使用的是AMD规范和CMD规范,现在已经逐步被ES6 Module取代 1. CommonJS规范 (1) 每一个文件都是一个模块,每一个模块都有一个独立的作用域,文件内的变量,函数都是私有的,其他文件不可使用(除非赋值到 global上)
(2)每个模块内部,module变量代表当前模块
(3)每个文件对外的接口是 module.exports 属性
(4) require用于引用其他模块,实际获得的是其他模块的module.exports这个属性 2. AMD(Asynchromous Module Definition - 异步模块定义) AMD 是 RequireJS 在推广过程中对模块定义的规范化产出 使用 定义模块
define(id?, dependencies?, factory)
加载模块
require([module], callback) 3. CMD(Common Module Definition - 公共模块定义) CMD 是 SeaJS 在推广过程中对模块定义的规范化产出 使用 定义模块
define(factory)
加载模块
require(id) 4. UMD(AMD和CommonJS的糅合) UMD先判断是否支持Node.js的模块(exports)是否存在,存在则使用Node.js模块模式。 在判断是否支持AMD(define是否存在),存在则使用AMD方式加载模块。 【相关推荐:javascript学习教程】 以上就是JavaScript的模块规范有哪些的详细内容,更多请关注gxlsystem.com其它相关文章!模块化规范
(function (window, factory) {
if (typeof exports === 'object') {
module.exports = factory();
} else if (typeof define === 'function' && define.amd) {
define(factory);
} else {
window.eventUtil = factory();
}
})(this, function () {
//module ...
});