Chrome 更新后出現了 jquery.min.map 404 (Not Found) 的信息
這個到底是什么東西?查詢了一下,得到了以下資料
摘錄一下內容
從 jQuery 1.9.0 版本后在原始代碼里會有 @ sourceMappingURL=jquery.min.map
什么是Source map
簡單說,Source map就是一個信息文件,里面存儲着位置信息。也就是說,轉換后的代碼的每一個位置,所對應的轉換前的位置。
有了它,出錯的時候,除錯工具將直接顯示原始代碼,而不是轉換后的代碼。這無疑給開發這帶來了很大方便。
導致 jquery.min.map 404 原因
更新后 Chrome 自行開啟了 Enable source maps 的選項但你又沒有放 Source map 導致找不到檔案。
解決辦法
解決方式1.
將 Developer Tools ->設置 Enable source maps 關閉
解決方式2.
下載同一版本的 source maps跟jquery.js同目錄
source maps 會跟 jquery 同位置
Jquery 位置 http://code.jquery.com/jquery-1.10.2.min.js
source maps 位置 http://code.jquery.com/jquery-1.10.2.min.map
當打開引入jQuery腳本的頁面時,在Chrome的控制台中報了“GET http://localhost/libs/jquery.min.map 404 (Not Found)”的錯誤。
剛開始以為是Chrome安裝插件導致的錯誤,可是把引入換成jQuery開發版本時,錯誤就不見了。並且只有Chrome會有這個錯誤提示,FireFox、IE不會報錯。
后來發現原來是jQuery腳本中 "//@ sourceMappingURL=jquery-1.10.2.min.map
" 這一行惹的禍。
如果是布置到生產環境中去,你可以把上面那行代碼直接刪掉。
如果是在開發環境中,你應該下載jquery-1.10.2.min.map文件,放到jQuery同級目錄中去(需要對應的source map文件)。
如果想關掉錯誤提示,還可以在Chrome的Developer Tools的Setting中將Enable source maps取消選中。
為什么這行被注釋掉的代碼,會起作用呢?那么就需要了解一下什么是Source Map。
什么是Source Map
Source map就是一個Json格式的信息文件,里面儲存着位置信息。也就是說,它是壓縮后Js的一個字典文件。有了它,出錯的時候,調試工具將直接顯示原始代碼,而不是壓縮后的代碼。這無疑給開發者帶來了很大方便。
因為是Google自定義的規則,暫時只有基於Chromium開發的瀏覽器支持這個功能。