国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

AMD 和 CMD 的區別有哪些?

2024-04-27 15:18:36
字體:
來源:轉載
供稿:網友
RequireJS 遵循的是 AMD(異步模塊定義)規范,SeaJS 遵循的是 CMD (通用模塊定義)規范鏈接:https://www.zhihu.com/question/20351507/answer/14859415來源:知乎著作權歸作者所有,轉載請聯系作者獲得授權。AMD 規范在這里:https://github.com/amdjs/amdjs-api/wiki/AMDCMD 規范在這里:https://github.com/seajs/seajs/issues/242AMD 是 RequireJS 在推廣過程中對模塊定義的規范化產出。CMD 是 SeaJS 在推廣過程中對模塊定義的規范化產出。類似的還有 CommonJS Modules/2.0 規范,是 BravoJS 在推廣過程中對模塊定義的規范化產出。還有不少??這些規范的目的都是為了 javaScript 的模塊化開發,特別是在瀏覽器端的。目前這些規范的實現都能達成瀏覽器端模塊化開發的目的。區別:1. 對于依賴的模塊,AMD 是提前執行,CMD 是延遲執行。不過 RequireJS 從 2.0 開始,也改成可以延遲執行(根據寫法不同,處理方式不同)。CMD 推崇 as lazy as possible.2. CMD 推崇依賴就近,AMD 推崇依賴前置。看代碼:// CMDdefine(function(require, exports, module) {var a = require('./a')a.doSomething()// 此處略去 100 行var b = require('./b') // 依賴可以就近書寫b.doSomething()// ... })// AMD 默認推薦的是define(['./a', './b'], function(a, b) { // 依賴必須一開始就寫好a.doSomething()// 此處略去 100 行b.doSomething()...}) 雖然 AMD 也支持 CMD 的寫法,同時還支持將 require 作為依賴項傳遞,但 RequireJS 的作者默認是最喜歡上面的寫法,也是官方文檔里默認的模塊定義寫法。3. AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區分,推崇職責單一。比如 AMD 里,require 分全局 require 和局部 require,都叫 require。CMD 里,沒有全局 require,而是根據模塊系統的完備性,提供 seajs.use 來實現模塊系統的加載啟動。CMD 里,每個 API 都簡單純粹。4. 還有一些細節差異,具體看這個規范的定義就好,就不多說了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥中县| 左权县| 天台县| 镶黄旗| 含山县| 金山区| 灵川县| 内黄县| 沿河| 晋宁县| 商都县| 咸阳市| 九台市| 汾西县| 栾川县| 建瓯市| 神农架林区| 博客| 乐都县| 雅安市| 永善县| 贵州省| 洛阳市| 南靖县| 板桥市| 安溪县| 南投市| 丹江口市| 远安县| 呼图壁县| 南乐县| 杭锦旗| 寻乌县| 鄄城县| 平江县| 连山| 营山县| 涡阳县| 罗山县| 海原县| 沙田区|