2013-08-23 54 views
7

我這工作完全正常就在今天,突然我所有的js文件通過requirejs被加載,直到無法找到其原因requirejs決定給每一個「.MAP」文件擴展名,而不是「.js文件RequireJS加入「.MAP」,以JavaScript的,而不是」 .js文件突然

我加入了」 .js文件的路徑,只是爲了看看,然後requirejs仍然失敗,因爲它指出了‘jquery.min.js.js’

我很困惑這將如何突然無故改變。有沒有人有任何想法?

require.config 
    baseUrl: 'javascripts' 
    paths: 
    jquery: 'vendor/jquery-1.10.2.min' 
    underscore: 'vendor/underscore.min' 
    backbone: 'vendor/backbone.min' 
    shim: 
    underscore: 
     exports: '_' 
    backbone: 
     deps: ["underscore", "jquery"] 
     exports: "Backbone" 

require [ 
    'jquery', 
    'underscore', 
    'backbone'#, 
], ($, _, Backbone) -> 
    $('body').prepend "<div class='marking-up-header'></div>" 

再次,這是工作得很好,我最後一次工作,今天回到它,它被搞砸了。 enter image description here

好了,所以我乾脆拿出require.js,現在我得到同樣的錯誤,缺失與「.MAP」依然。我在safari中打開它(我使用的是chrome),並且我沒有收到這些錯誤。 Chrome有中風嗎?有人有什麼主意嗎?

謝謝。

+2

也許這會有所幫助。 http://stackoverflow.com/questions/17898165/why-is-requirejs-trying-to-load-map – veritasetratio

回答

7

由於@alexanderb指出,這是因爲在Chrome源地圖近期支持發生。爲防止這種情況發生(如果您對使用源地圖縮小文件不感興趣),請轉到開發工具設置面板,並取消選中「源」部分下的「啓用源地圖」。但請注意,這將關閉使用// @ sourceMappingURL=jquery-1.10.2.min.map指定源地圖的所有縮小文件的源地圖功能。無需編輯任何文件。

+0

這是我的問題。我刪除了每個縮小文件中的'@'符號,並再次運行。 alexanderb,我嘗試了你的解決方案,並且仍然收到錯誤,並且在每個文件中都考慮到了這一行。 有誰知道爲什麼這會打破和一個真正的方法來解決這個問題? – Sparkmasterflex

2

這可能發生,因爲你提到縮小的文件。

通常你總是使用非壓縮的來源,那麼在部署過程中與r.js優化代碼,所以統稱庫得到反正精縮。

嘗試從path部分改變,看看是否問題仍然出現。

+0

謝謝你,你在那裏幫助我。好像requirejs的確是添加'.map'擴展名而不是'.js',如果你的文件名以'.min'結尾的話。不知道爲什麼...... – Hless

+1

好吧,我做了一些更多的測試。而事情是,requirejs會正確加載文件。然而每個縮小文件都包含這樣一行:// // sourceMappingURL = jquery-1.10.2.min.map'。這會導致chrome dev工具(或任何其他調試工具)查找該文件,以便在調試縮小的文件時提供詳細信息。 – Hless

+0

@Hless謝謝,那正是我的問題。刪除了這些評論,現在Chrome控制檯中沒有更多錯誤。 – Matt

相關問題