2013-07-05 48 views
6

我與構造作爲一種功能一組命名requirejs模塊的模塊。requirejs - 構造它被定義時,而不是當它是必需

define('myModule', [ 'import1', 'import2' ], function(i1, i2) { 
    ... 
}); 

我希望能夠

  • 附加模塊,以HTML的corect爲了不使用通過腳本標記
  • 重視和使用的模塊 requirejs API 使用 requirejs API

現在,那麼我附加腳本define調用文檔,腳本被成功加載,但模塊沒有被定義,構造函數沒有被調用。

它是一個正常的行爲?有沒有解決這個問題的方法?

+0

你有什麼需要定義沒事的時候使用(需要),它的模塊? – Bergi

+0

1.我有一些遺留代碼,它對模塊一無所知,取決於文件附件。 2.我想要一些模塊,包含全局單例對象。我想把它們作爲腳本附在頭上。我在這裏需要模塊,因爲'他們正在依靠其他一些模塊來工作。 – Olegas

+0

帶優化器的r.js,可能是一個可靠的選擇 – dmi3y

回答

6

腳本加載成功,但構造不叫。這是一種正常的行爲嗎?

是的。它們只在需要時執行,define可能會重命名爲register。無論如何它也可能需要等待其依賴關係。

有一些變通方法來解決這一問題?

如果要執行它,只需將一個require()呼籲它(not in the same file though)。

我有一無所知模塊和依賴於文件附件,而不是一些遺留代碼。

當腳本安裝併成功加載它們(同步!),他們將被異步執行。你最好還是在require中包裝遺留代碼(這不應該破壞任何東西)。

+0

爲什麼不在同一個文件中?未從指定的鏈接... – Olegas

+0

從技術上講,在沒有任何限制同步執行模塊,如果所有的依賴加載(由以前放置在一個文件中

相關問題