日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

amd和cmd区别

發布時間:2024/7/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 amd和cmd区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AMD 是 RequireJS 在推廣過程中對模塊定義的規范化產出。

CMD 是 SeaJS 在推廣過程中對模塊定義的規范化產出。

對于依賴的模塊,AMD 是提前執行,CMD 是延遲執行。

不過 RequireJS 從 2.0 開始,也改成可以延遲執行(根據寫法不同,處理方式不同)。

CMD 推崇 as lazy as possible.

CMD 推崇依賴就近,AMD 推崇依賴前置。

// CMD
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// 此處略去 100 行
var b = require('./b') // 依賴可以就近書寫
b.doSomething()
// ...?
})

// AMD 默認推薦的是

require.config({   paths: {     'jquery': '../vendor/jquery-1.12.0.min',     'jquery-ui':'../assets/js/jquery-ui.min',     'd3': "../vendor/d3.v3",     // 'dagre-d3': "../vendor/dagre-d3",     'dagre-d3': "../assets/compress/dagre-d3.min",     'interact': "../vendor/interact.min",     'mousetrap': "../vendor/mousetrap.min",     'sinbad': '../sinbad/js/sinbad.min',     'bootstrap':'../assets/js/bootstrap',     'ace':'../assets/js/ace', //ace框架     //'aceCode':'../vendor/editor/ace', //ace代碼插件     'aceCode':'../assets/compress/ace-code.min',     'aceElements':'../assets/js/ace-elements',     'slimscroll':'../vendor/transparent-dark/lib/slimScroll/jquery.slimscroll.min', //light blue scroll插件     'modify':'../statics/flow/modify',   },   shim: {     'jquery-ui': {       deps: ['jquery']     },     'bootstrap': {       deps: ['jquery'],       exports: 'bootstrap'     },     'editor': {       deps: ['aceCode']     }   } }); 上面requirejs === require /// require([   'd3',   'property',   'sinbad',   'editor',   'jquery-ui',   'bootstrap',   'modify',   'aceCode',   'link-rules', ], function (d3, property, sinbad,editor, scroll) {   console.log(1)   require('jquery-ui'); }); 上面requirejs === require === define

shim,是依賴,{deps:"xxx"}


define(['./a', './b'], function(a, b) { // 依賴必須一開始就寫好
a.doSomething()
b.doSomething()
})

AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區分,推崇職責單一。比如 AMD 里,require 分全局 require 和局部 require,都叫 require。

CMD 里,沒有全局 require,而是根據模塊系統的完備性,提供 seajs.use 來實現模塊系統的加載啟動。CMD 里,每個 API 都簡單純粹。

  • 定位有差異。RequireJS 想成為瀏覽器端的模塊加載器,同時也想成為 Rhino / Node 等環境的模塊加載器。Sea.js 則專注于 Web 瀏覽器端,同時通過 Node 擴展的方式可以很方便跑在 Node 環境中。
  • 遵循的規范不同。RequireJS 遵循 AMD(異步模塊定義)規范,Sea.js 遵循 CMD (通用模塊定義)規范。規范的不同,導致了兩者 API 不同。Sea.js 更貼近 CommonJS Modules/1.1 和 Node Modules 規范。
  • 推廣理念有差異。RequireJS 在嘗試讓第三方類庫修改自身來支持 RequireJS,目前只有少數社區采納。Sea.js 不強推,采用自主封裝的方式來“海納百川”,目前已有較成熟的封裝策略。
  • 對開發調試的支持有差異。Sea.js 非常關注代碼的開發調試,有 nocache、debug 等用于調試的插件。RequireJS 無這方面的明顯支持。
  • 插件機制不同。RequireJS 采取的是在源碼中預留接口的形式,插件類型比較單一。Sea.js 采取的是通用事件機制,插件類型更豐富。
  • ?

    轉載于:https://www.cnblogs.com/MDGE/p/11038746.html

    總結

    以上是生活随笔為你收集整理的amd和cmd区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 1024手机在线观看 | jizz日本18| 欧美日韩国产伦理 | 成人高清 | 日韩欧美在线观看一区 | japanese24hdxxxx日韩 | 欧美日韩一二三四区 | 亚洲人成电影网站 | 1级av | 国内精品久久久久久久久久久 | 18精品爽国产白嫩精品 | 欧美精品做受xxx性少妇 | 国产又粗又长又黄 | 国产成人黄色av | 亚洲视频手机在线 | 日日射日日干 | 亚洲黄页 | 免费黄色av网站 | 好大好爽视频 | 欧美老女人性生活视频 | 日韩久草| 影音先锋久久久久av综合网成人 | 91久久久久国产一区二区 | 888奇米影视 | 国产巨乳在线观看 | 4438x在线观看 | 午夜啪啪网站 | 国产黄在线播放 | 国产99久久九九精品无码免费 | 黄色av免费观看 | 蜜桃臀一区二区三区 | 无码国产精品一区二区高潮 | 极品久久久久 | 91色漫| 青娱乐在线免费视频 | 美女131爽爽爽做爰视频 | 夜夜操夜夜操 | 一个色综合网站 | 天天操夜夜操夜夜操 | 国产人妻777人伦精品hd | av午夜在线观看 | 精品久久香蕉国产线看观看亚洲 | 成人性生交免费看 | 亚洲天堂网址 | 插插插日日日 | 国产精品久久久久久久久免费相片 | 中文字幕淫| 久久小视频 | www.av欧美 | 亚洲国产精品av | 永久视频在线 | 欧美精品在线一区二区三区 | 女女同性被吸乳羞羞 | 日韩福利视频网 | 日韩精品免费播放 | 光明影院手机版在线观看免费 | 天堂中文在线看 | 天天干夜夜操 | 亚洲第一欧美 | 总裁憋尿呻吟双腿大开憋尿 | 91原视频 | 上原亚衣av一区二区三区 | 中出视频在线观看 | 天天爽天天摸 | 亚洲AV成人无码网站天堂久久 | 中文字幕日韩一区二区三区 | 蜜桃视频一区二区三区在线观看 | 男女调教视频 | 欧美人与禽猛交乱配 | 伊人伊人网 | 亚洲免费在线看 | 黄色69视频| 五月婷婷激情综合 | 中文字幕欧美亚洲 | 中文字幕在线精品 | 国产精品无码一区二区无人区多人 | 天天操天天干天天干 | 久操热久操 | 中国农村一级片 | 成人深夜视频 | 成人国产一区二区三区 | 久久伊人成人网 | 久久草网站| 青草伊人网 | www.97视频| 丁香花高清在线 | 欧美日韩精品一区二区三区蜜桃 | 岛国av片| 天天爽影院| 91麻豆成人精品国产 | 久久久久人妻精品色欧美 | 亚洲最大成人在线视频 | 黄色小视频免费网站 | 动漫美女被到爽 | 久久精品二区 | 亚洲男人皇宫 | 日本黄区免费视频观看 | 三级a级片 | 四虎成人永久免费视频 |