cmd,amd,umd 模块写法

mark一篇感觉写的不错的cmd/amd/umd的模块写法

原文:https://github.com/banricho/webLog/issues/12

umd通用写法:

// jQuery 2.2.0
(function(global, factory) {
    // 判断是否支持 CommonJS 规范
    if (typeof module === "object" && typeof module.exports === "object") {
        /* ... 省略进一步判断是否存在 document ...  */
    } else {
        // 不支持 CommonJS 规范时执行
        factory(global);
    }

    // 判断 window 对象是否存在,若否则代入全局的 this,即 Node 环境下的 global 对象
}(typeof window !== "undefined" ? window : this, function(window, noGlobal) {
    /* ... 省略 jQuery 主体 ...  */

    // 检测是否支持 AMD 规范,如果支持则会 return 为 AMD 模块
    if (typeof define === "function" && define.amd) {
        define("jquery", [], function() {
            return jQuery;
        });
    }

    // 不支持 AMD 规范时才会执行以下代码
    // 由于 factory(global) 没有传入 noGlobal,所以 !noGlobal 为 true
    // 不支持 CommonJS,也不支持 AMD,则将 jQuery 暴露为全局变量
    if (!noGlobal) {
        window.jQuery = window.$ = jQuery;
    }

    return jQuery;
}));

 

转载于:https://www.cnblogs.com/rengised/p/6405220.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值