美文网首页web前端技术分享
js中UMD模块的声明模式

js中UMD模块的声明模式

作者: Jason_Zeng | 来源:发表于2020-03-30 10:15 被阅读0次

    大家都知道AMD,common.js ,ESModule的模块的异同,所以有时候需要声明为UMD的模式来兼容这几种模块的声明,下面就是示例代码

    
    (function (global, factory) {
      if (typeof define === "function" && define.amd) {
        define(['exports'], factory);
      } else if (typeof exports !== "undefined") {
        factory(exports);
      } else {
        var mod = {
          exports: {}
        };
        factory(mod.exports);
        global.JasonZeng = mod.exports; // 这里的JasonZeng就是你要到处的对象
      }
    })(this, function (exports){
      'use strict';
      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.default = JasonZeng; // 这里的JasonZeng就是你要到处的对象
    
      function JasonZeng() {
        return {
          name: "JasonZeng",
          dance: function() {
            // 所以将你眼睛轻轻闭了起来
          }
        }
      } 
    });
    

    里面的JasonZeng就是需要导出的对象

    相关文章

      网友评论

        本文标题:js中UMD模块的声明模式

        本文链接:https://www.haomeiwen.com/subject/ufumuhtx.html