AMD、CDM和UMD区别与规范

一、AMD

全称:Common Module Definition 通用模块定义

典型类库:require.js

写法规范

define(['jquery', 'lodash'], function($, _) {
    function a() {}
    function b() {}
    function c() {} // 私有
    return {a, b}
});

二、 CDM

全称:Asynchronous Module Definition 异步模块定义

典型类库:Sea.js

写法规范

var $ = require('jquery');
var _ = require('lodash');

function a() {}
function b() {}
function c() {} // 私有

module.exports = {a, b}

三、UMD

全称:Universal Module Definition 通用模块定义

兼容AMD和CMD

写法规范

(function (root, factory) {
    if(typeof define === 'function' && define.amd) {
        // AMD
        define(['jquery', 'lodash'], factory);
    } else if(typeof exports === 'object') {
        // Node、CommonJS
        module.exports = factory(require('jquery'), require('lodash'));
    } else {
        root.returnExport = factory(root.jQuery, root._); // root即window
    }
})(this, function($, _) {
    function a() {}
    function b() {}
    function c() {} // 私有

    return {a, b}
});
PS:写作不易,如要转裁,请标明转载出处。
%{ comment.page.total }条评论

猜你想看

微信小程序:前端开发宝典

最近文章
工具操作
  • 内容截图
  • 全屏
登录
注册
回顶部