我有以下main.js
:RequireJS忽略了一些路徑
requirejs.config({
paths: {
'backbone': 'backbone-min',
'underscore': 'underscore-min',
'loader': 'loader-min'
}
})
這種 '架min.js' 文件只是一個優化從loader.js
JS:
define(['backbone', 'underscore'], function() {
})
我的HTML頁面包含以下:
<script data-main="/js/main" src="/js/require.js"></script>
<script type="text/javascript">
requirejs(['loader'], function(loader) {
....
})
</script>
順便說一句,正如我從Fire看到的錯誤控制檯,只有以下網址瀏覽器負載:
GET /js/require.js
GET /js/main.js
GET /js/loader.js !!! Notice it's loader.js, not loader-min.js
GET /js/backbone-min.js
GET /js/underscore-min.js
所以,這個問題對於模塊loader
它會嘗試加載文件loader.js
,而不是路徑在main.js
配置。未縮小/優化文件,忽略requirejs.config
值。
最奇怪的是,它仍然使用正確的值爲backbone
和underscore
。大多數情況下,但不是全部時間。有時它在加載時失敗/js/backbone.js
似乎RequireJS在main.js
被完全加載並由瀏覽器解釋之前開始工作。它預期的行爲?或我的應用程序有問題?
如何確保requirejs(...)
函數僅在處理完'main.js'後執行?
如果我有其他模塊,uniq每頁和用戶類型,不僅'loader.js'。這是否意味着無法繼續將它們作爲單獨的腳本使用,我應該將它們全部放入一個巨大的main.js中? – 2013-02-25 11:27:58
我的意思是,requirejs的主要目標是使它可以使用小模塊並只加載所需的代碼 – 2013-02-25 11:28:58
我編輯了我的答案以回答上述兩個問題。希望這可以解決問題。 – 2013-02-25 11:44:16