2012-11-27 35 views
0

如何使用RequireJS,併爲所有頁面使用一些常見的JavaScript代碼?如果我在模板中使用了datamain的腳本標記(用於所有頁面),那麼我可以在其他頁面上有一個require(...),它需要他們需要的東西嗎?這會導致加載順序的問題嗎?它會對嗎?我還認爲模板中有第二個腳本標記,它們擁有所有通用代碼(這是RequireJS之外的)。這是唯一的方法嗎?使用RequireJS時包含在所有頁面上的常見JavaScript代碼

回答

1

strong text>您如何使用RequireJS,以及有一些共同的JavaScript代碼爲

所有頁面?

的這個問題的答案將幫助 - How does RequireJS work with multiple pages and partial views?

我可以再有一個要求(...)的其他頁面,需要他們需要什麼 ?這會導致加載順序的問題嗎?它 會正確嗎?

不,這沒關係。如果您願意,您可以調用同一個模塊,並且只能加載一次。一個常見的例子是多個需求呼叫,全部需要jquery。你每次都需要它來確定它的存在,但是沒有任何懲罰,因爲RequireJS足夠聰明,只需一次就可以取得它。

編輯回答評論: 請求jQuery和/或jQuery用戶界面與依賴要麼定義或需要和回調後執行:

require(['jquery', 'jquery-ui'], function($) { 
    // jQuery is passed in as first argument but as jquery-ui 
    // merely augments jQuery we don't need it as the second argument 
}); 

這是RequireJS真正的基本面(需要依賴和執行代碼準備就緒時),所以它可能值得擁有detailed read of the documentation (which is superb)

最後需要注意的是,您需要在paths配置中設置jQuery的路徑,我不確定jQuery UI是否將自己註冊爲模塊。如果沒有,您需要使用shim配置選項

+0

Okey。如何控制jquery,jQuery UI等在我自己的腳本之前加載?現在我的腳本在jquery和jquery UI之間加載,導致它失敗。 – LuckyLuke

+0

關於此問題的更新回答 –

+0

感謝您的幫助:) – LuckyLuke

0

創建您的文件,並把裏面的代碼像這樣

define(function() { 
      this.myProp = ''; 
    }) 

設置路徑文件在您requirejs.conf

path { myfile: 'js/myfile'} 

現在,您可以加載像這樣

require([myfile], function (myfile) { 
    console.log(myfile.myProp) 
}) 
+0

這是如何解決問題的? – LuckyLuke

+0

對不起,我誤解了這個問題。你能給出一些你想要做的事情的示例代碼嗎? – AlexandruSerban

相關問題