科技知識動態:關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解

導讀跟大家講解下有關關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說關于A

跟大家講解下有關關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解,小編也收集到了有關關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解的相關資料,希望大家看到了會喜歡。

一下三塊均以 foo.js 為示例文件名,以 jQuery,underscore 為需求組件

ADM:異步模塊規范, RequireJs 的支持格式

// 文件名: foo.jsdefine(['jquery', 'underscore'], function ($, _) {// 方法function a(){}; // 私有方法,因為沒有被返回(見下面)function b(){}; // 公共方法,因為被返回了function c(){}; // 公共方法,因為被返回了 // 暴露公共方法 return { b: b, c: c }});

CommonJs:node 的支持格式

// 文件名: foo.jsvar $ = require('jquery');var _ = require('underscore'); // methodsfunction a(){}; // 私有方法,因為它沒在module.exports中 (見下面)function b(){}; // 公共方法,因為它在module.exports中定義了function c(){}; // 公共方法,因為它在module.exports中定義了 // 暴露公共方法module.exports = { b: b, c: c};

UMD:通用模式,支持以上兩種格式,切可以支持老式的 “全局變量” 規范

(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(){}; // 私有方法,因為它沒被返回 (見下面) function b(){}; // 公共方法,因為被返回了 function c(){}; // 公共方法,因為被返回了 // 暴露公共方法 return { b: b, c: c }}));

以上就是關于AMD和CMD以及UMD三種模塊的規范以及寫法格式詳解的詳細內容,更多請關注php中文網其它相關文章!

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!