我正在潛入Require.js以使用this link和this link作爲指導來構建Google地圖應用程序。 我的目標是構建一個模塊化應用程序,首先加載「基本」功能,然後「插入」客戶機特定功能-而不復制代碼。因此,每個項目都將使用「基礎」JS,但特定於客戶端的JS在每個項目中都會有所不同。以下是我的加載依賴關係列表。這是我所需要的東西加載,與以前的項目列表中的需要來移動到下一個之前完全加載順序:按照Require.js的依賴關係順序加載JavaScript
- 加載jQuery和谷歌地圖API(我得到這個工作)
- 加載JavaScript以使用基本應用程序功能在頁面上初始化我的地圖
- 加載其他/客戶端特定的JavaScript。
我可以得到1和2使用這個工作得很好:
main.js:
require.config({
paths:{
jquery: "jquery-1.7.1.min",
jqueryui: "jquery-ui-1.8.22.custom.min",
async: "async",
requiremap: "requiremap"
}
});
require(
[ "jquery", "jqueryui", "requiremap" ],
function($, jqueryui, requiremap) {
}
);
requiremap.js:
define(
[ "async!http://maps.google.com/maps/api/js?sensor=false" ],
function() {
require(['js/basemapfunctionality.js'], function() {
});
}
);
但現在我需要等到#2完全加載加載前#3。這是否可能與Require.js,如果是這樣,如何? (如果沒有,是否有其他框架可以做到這一點)我試圖添加另一個嵌套的require方法來加載附加功能(如下圖所示),但它的行爲像#2尚未加載。
define(
[ "async!http://maps.google.com/maps/api/js?sensor=false" ],
function() {
require(['js/basemapfunctionality.js'], function() {
require(['js/additionalfunctionality.js'], function() {
// now everything should be loaded, but it ain't
});
});
}
);
你應該將自己的答案標記爲已接受(給它打勾)!很高興聽到你明白了。 –
在這裏分享解決方案的代碼示例也不會有什麼壞處。 –
增加解決方案的代碼示例。 – Gady