ADM:異步模塊規(guī)范, RequireJs 的支持格式
// 文件名: foo.js define(['jquery', 'underscore'], function ($, _) { // 方法 function a(){}; // 私有方法,因?yàn)闆]有被返回(見下面) function b(){}; // 公共方法,因?yàn)楸环祷亓?function c(){}; // 公共方法,因?yàn)楸环祷亓? // 暴露公共方法 return { b: b, c: c } });
CommonJs:node 的支持格式
// 文件名: foo.js var $ = require('jquery'); var _ = require('underscore'); // methods function a(){}; // 私有方法,因?yàn)樗鼪]在module.exports中 (見下面) function b(){}; // 公共方法,因?yàn)樗趍odule.exports中定義了 function c(){}; // 公共方法,因?yàn)樗趍odule.exports中定義了 // 暴露公共方法 module.exports = { b: b, c: c };
UMD:通用模式,支持以上兩種格式,切可以支持老式的 “全局變量” 規(guī)范
(function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery', 'underscore'], factory); } else if (typeof exports === 'object') { // Node, CommonJS之類的 module.exports = factory(require('jquery'), require('underscore')); } else { // 瀏覽器全局變量(root 即 window) root.returnExports = factory(root.jQuery, root._); } }(this, function ($, _) { // 方法 function a(){}; // 私有方法,因?yàn)樗鼪]被返回 (見下面) function b(){}; // 公共方法,因?yàn)楸环祷亓? function c(){}; // 公共方法,因?yàn)楸环祷亓? // 暴露公共方法 return { b: b, c: c } }));
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com