2013-05-28 43 views
0

我需要使用requireJS將配置值傳遞到所有AMD模塊中。requireJS將配置信息傳遞給所有使用「*」通配符的模塊

通過使用以下示例,我可以愉快地將配置值傳遞給特定模塊;爲requireJS API config modules文檔

requirejs.config({ 
    config: { 
     'bar': { 
      raw: true 
     }, 
     'baz': { 
      raw: true 
     }, 
     ... 
    } 
}); 

以上優良工程在給定的,但我有一些50的模塊,我想通過相同的配置價值,而這些可能會增加或改變。我可以像上面那樣定義50個模塊名稱,並傳遞值,但我並不想通過名稱來定義每個模塊並維護該列表,而是想要做這樣的事情。

requirejs.config({ 
    config: { 
     '*': { 
      raw: true 
     } 
    } 
}); 

我已經嘗試了上述,但它沒有奏效。

requireJS config map似乎支持「*」通配符,但我沒有看到任何提及類似的「配置」。我搜索了,但我想我有一個「糟糕的搜索日」。

所以,問題是:是否有「配置」的「*」通配符支持,我只是有一個問題呢?或者有其他方法可以實現這一目標嗎?

回答

5

我不知道的方式直接使用通配符語法,但你可以在你的數據,主底部完成通過simplest模塊定義同樣的事情:

requirejs.config({ 
    // normal stuff 
}); 

define('moduleconfig', { 
    color: "black", 
    size: "unisize" 
}); 

然後代替需要特殊的「模塊」模塊,只需要你的'moduleconfig'模塊:

define(['underscore', 'jquery', 'moduleconfig'], function(_, $, moduleconfig) { 

    console.log('Color', moduleconfig.color) 

}); 
+0

謝謝,這確實看起來工作。我創建了一個默認的「moduleconfig」,用於我想要默認的情況,然後我可以通過在我的main中重新定義它來覆蓋它。看起來似乎很奇怪(顯然)沒有模塊配置的通配符支持,我通過requireJS源代碼快速瀏覽了一下,但沒有注意到任何這樣的事情。 – Xotic750

+0

所以,我想如果有一個通配符方法,現在有人會有一個答案。再次感謝您的幫助。 – Xotic750