zoukankan      html  css  js  c++  java
  • 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;
    }));
  • 相关阅读:
    第二阶段冲刺10
    第二阶段冲刺9
    第二阶段冲刺8
    (转载)关于数组的几个面试题
    关于静态变量
    linux进程地址空间详解(转载)
    单例模式,多种实现方式JAVA
    最佳线程数
    python学习
    svn设置
  • 原文地址:https://www.cnblogs.com/rengised/p/6405220.html
Copyright © 2011-2022 走看看