AMD、CDM和UMD区别与规范丨技术开发分享录

AMD、CDM和UMD区别与规范

{{ detail.nickname }}

转载 翻译 {{ formatTime(detail.create_time) }} 字数 {{ detail.content && detail.content.length }} 阅读 {{ detail.read_num }} {{ formatTag(v) }}

"## 一、AMD\n\n全称:Common Module Definition 通用模块定义\n\n典型类库:[require.js](https://www.html.cn/doc/requirejs/)\n\n写法规范\n\n```\ndefine(['jquery', 'lodash'], function($, _) {\n    function a() {}\n    function b() {}\n    function c() {} // 私有\n    return {a, b}\n});\n```\n\n\n## 二、 CDM\n\n全称:Asynchronous Module Definition 异步模块定义\n\n典型类库:[Sea.js](http://seajs.github.io/seajs/docs/)\n\n写法规范\n\n```\nvar $ = require('jquery');\nvar _ = require('lodash');\n\nfunction a() {}\nfunction b() {}\nfunction c() {} // 私有\n\nmodule.exports = {a, b}\n```\n\n##  三、UMD\n\n全称:Universal Module Definition 通用模块定义\n\n兼容AMD和CMD\n\n写法规范\n\n```\n(function (root, factory) {\n    if(typeof define === 'function' && define.amd) {\n        // AMD\n        define(['jquery', 'lodash'], factory);\n    } else if(typeof exports === 'object') {\n        // Node、CommonJS\n        module.exports = factory(require('jquery'), require('lodash'));\n    } else {\n        root.returnExport = factory(root.jQuery, root._); // root即window\n    }\n})(this, function($, _) {\n    function a() {}\n    function b() {}\n    function c() {} // 私有\n\n    return {a, b}\n});\n```"
PS:写作不易,如要转裁,请标明转载出处。

如果此篇对您有帮助,可小额赞助,以兹鼓励!

猜你想看