2012-02-09 48 views
3

在道場1.7 AMD的web應用程序,你也可以定義在配置對象的任意數據(http://dojotoolkit.org/reference-guide/loader/amd.html)配置。requirejs任意數據

該配置對象還可以用於設置任意的特定於應用程序的配置數據。配置對象的所有屬性都是淺拷貝到require.rawConfig

我看向requirejs配置頁面(http://requirejs.org/docs/api.html#config),但我沒有找到一個這裏的功能相似。但我沒有查看源代碼。

是否有存儲在requirejs配置任意的相關信息,並獲得其訪問的可能性呢?
非常感謝
沃爾夫岡

+1

看看這個帖子:http://stackoverflow.com/a/12993804/164439 – thaddeusmt 2013-03-19 15:18:33

回答

1

據我所知,它不被支持。
您需要在require.js源代碼中插入1行以獲取此功能。

下面是一個例子:

require.config({ 
    test: "one", 
    paths: { 
    'jquery': 'libs/jquery/1.7.1/jquery', 
... 

隨着正常值存儲您的任意信息。

然後,你必須用文本編輯器打開requirejs源代碼。
大約在電線380 - 390(取決於您的版本),函數 「makeRequire」:
此函數調用另一個名爲 「混入」:

mixin(modRequire, { 
      nameToUrl: makeContextModuleFunc(context.nameToUrl, relModuleMap), 
      toUrl: makeContextModuleFunc(context.toUrl, relModuleMap), 
      defined: makeContextModuleFunc(context.requireDefined, relModuleMap), 
      specified: makeContextModuleFunc(context.requireSpecified, relModuleMap), 
      isBrowser: req.isBrowser, 
      rawConfig: config 
     }); 

「isBrowser」 寫 「:配置rawConfig」 之後。現在

,您的AMD模塊:

define(['require'], function (require){ 
    alert (require.rawConfig.test); 
    ... 

更新:
該功能將在requirejs 1.1來implimented。
https://github.com/jrburke/requirejs/issues/182