温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript有哪些模块规范

发布时间:2022-02-19 09:34:48 来源:亿速云 阅读:175 作者:小新 栏目:web开发

小编给大家分享一下JavaScript有哪些模块规范,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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方式加载模块。

(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 ...
});

以上是“JavaScript有哪些模块规范”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI