[英]what's the benefit of the dojo 1.7 AMD framework?
AMD的好處是具有模塊系統的好處,類似於其他語言的命名空間系統。 在JavaScript中,我們經常使用全局變量偽裝它,但模塊提供了許多特定的好處:
這些模塊提供其頂級范圍的隱私,用於從其他模塊導入單個對象以及導出自己的API的工具。
---從CommonJS Modules / 1.1.1規范開始,全部啟動。
這里的關鍵是進出口設施。 以前每個人都在使用全局變量(如window.jQuery
, window._
等)進行臨時window._
。 要獲得jQuery的導出功能,你必須知道這個神奇的名字,希望沒有人與它發生沖突,並確保在你的腳本之前加載了jQuery腳本。 沒有辦法聲明性地指定你對jQuery的依賴,並且jQuery除了將它們填充到全局window.jQuery
對象之外沒有辦法說“這是我導出的”。
模塊格式修復了這個問題:每個模塊都導出特定的功能,例如
// math.js
define(function (require, exports, module) {
exports.add = function (a, b) { return a + b; };
});
並且每個模塊可以要求特定的其他模塊,例如
// perimeter.js
define(function (require, exports, module) {
var math = require("math");
exports.square = function (side) {
return math.add(math.add(side, side), math.add(side, side));
};
});
為什么AMD要選擇的模塊系統,詹姆斯·伯克,筆者RequireJS --- AMD的裝載機很像道場有---寫了一篇博客文章,詳細說明為什么他認為AMD是最好的 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.