2013-05-31 119 views
0

我在我的代碼中使用JavaScript預處理器爲我生成模塊,但出現問題,我的require方法中的url不是文件將從其提供的位置。在requirejs加載之前修改依賴關係url

假設我無法修改生成模塊的方式,我怎樣才能攔截進入require.js的路徑並修改路徑,使其看起來在正確的位置?本質上改變../../SomePath/app/app

我現在的解決方案是包裝require語句並自己修改它。

編輯

require聲明看起來是這樣的:

require(['require', 'exports', '../../SomePath/app/dependency.js'], function (require, exports, dependency) { 
    //do stuff 
}); 

所以當我部署應用程序打包我崩潰../../SomePath/app到被/app

+1

你有沒有考慮使用'r.js'和一石二鳥? –

+0

它被打包爲一個應用程序,所以r.js似乎會增加開銷,我不需要,也因爲require.js的路徑認爲它是錯誤的我期望r.js有同樣的問題查找文件 –

+0

這是節點還是瀏覽器?如果是瀏覽器,您可能會考慮在您的HTML文件中使用''標籤 –

回答

2

如此看來,@保羅Grime的是正確的,我可以用paths配置,就像這樣:

var require = { 
    paths: { 
     '../../SomePath/app': '/app' 
    } 
};