jQuery的jquery-1.10.2.min.map触发了404(未找到)

时间:2013-08-21 18:46:31

标签: javascript jquery google-chrome-devtools

我看到有关未找到文件min.map的错误消息:

  

GET jQuery的jquery-1.10.2.min.map正在触发404(未找到)


截图

enter image description here

这是从哪里来的?

11 个答案:

答案 0 :(得分:1264)

如果Chrome DevTools报告的是.map文件的404(可能是jquery-1.10.2.min.mapjquery.min.mapjquery-2.0.3.min.map,但可能会发生任何事情)首先要知道的是,这只是请求使用DevTools时。 您的用户不会点击此404。

现在您可以解决此问题或禁用源地图功能。

修复:获取文件

接下来,这是一个简单的解决方案。前往http://jquery.com/download/并点击您的版本的下载地图文件链接,您也可以下载未压缩的文件。

enter image description here

使用映射文件允许您通过原始源调试缩小的jQuery,如果您不喜欢处理a和{{1}等变量名称,这将节省大量时间和挫败感}}。

有关源图的更多信息,请访问:An Introduction to JavaScript Source Maps

道奇:禁用源图

您可以在设置中完全禁用JavaScript源地图,而不是获取文件。如果您从未计划在此页面上调试JavaScript,那么这是一个很好的选择。 使用DevTools右下角的cog图标打开设置,然后: enter image description here

答案 1 :(得分:273)

您可以删除行

删除404
//@ sourceMappingURL=jquery-1.10.2.min.map

来自jQuery文件的顶部。

jQuery文件的顶部将如下所示。

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/

只需将其更改为

即可
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

源地图的目的

基本上,这是一种将组合/缩小文件映射回未构建状态的方法。当您为生产构建时,以及缩小和组合JavaScript文件,您将生成一个源映射,其中包含有关原始文件的信息。在生成的JavaScript中查询某个行和列号时,可以在源映射中执行查找,该映射将返回原始位置。开发人员工具(目前是WebKit每晚构建,谷歌浏览器或Firefox 23+)可以自动解析源地图,使其看起来好像您正在运行未经组合和未组合的文件。 (详细了解here

答案 2 :(得分:43)

正如jQuery 1.11.0/2.1.0 Beta 2 Released中所述,源地图评论将被删除,因此问题不会出现在较新版本的jQuery中。

这是官方公告:

  

我们在此测试版中所做的一项更改是删除源图   评论。源图已被证明是一个非常有问题和令人费解的问题   开发人员的事情,在论坛上产生了大量困惑的问题   像StackOverflow,并导致用户认为jQuery本身   碎。

无论如何,如果您需要使用源地图,它仍然可用:

  

我们仍然会生成和分发源图,但你会的   需要在最后添加适当的sourcemap注释   如果浏览器不支持手动关联地图,则缩小文件   文件(目前,没有)。如果您使用生成自己的jQuery文件   自定义构建过程中,源图注释将出现在   缩小文件并生成地图;你可以留下来和   使用源图或编辑它并完全忽略地图文件。

Here您可以找到有关更改的更多详细信息。


Here您可以通过jQuery 1.11.0/2.1.0 Released确认已删除缩小文件中的源地图注释。

答案 3 :(得分:40)

  1. Download地图文件和jQuery的未压缩版本。将它们与缩小版本放在一起: JavaScript

  2. 在您的HTML中包含缩小版本: HTML

  3. 签入Google Chrome: Google Chrome

  4. 阅读 Introduction to JavaScript Source Maps

  5. 熟悉 Debugging JavaScript

答案 4 :(得分:16)

新版本的jQuery需要此文件http://code.jquery.com/jquery-1.10.2.min.map

此处描述了此文件的可用性http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

<强>更新

jQuery 1.11.0 / 2.1.0

// sourceMappingURL评论未包含在压缩文件中

答案 5 :(得分:9)

据我所知,浏览器至少是Chrome,默认情况下它不会禁用源映射。这意味着您的应用程序的用户默认会触发此源映射请求。

您可以通过从JavaScript文件中删除//@ sourceMappingURL=jquery.min.map来删除源映射。

答案 6 :(得分:9)

如果要获取源地图文件的不同版本,可以使用此链接 http://code.jquery.com/jquery-x.xx.x.min.map

而是x.xx.x提供您的版本号。

注意:您在此方法上获得的某些链接可能会被破坏:)

答案 7 :(得分:8)

按照其他答案中的说明操作后,我需要从地图文件中删除该版本,以便我能够使用。

示例:重命名

  

jquery-1.9.1.min.map

  

jquery.min.map

答案 8 :(得分:6)

我遇到了同样的问题。我的原因是Grunt连接我的JavaScript文件。

我使用;\n作为分隔符,导致源地图的路径为404.

所以开发工具正在寻找jquery.min.map;而不是jquery.min.map

我知道这不是原始问题的答案,但我确信其他人也有类似的Grunt配置。

答案 9 :(得分:5)

jQuery 1.11.0 / 2.1.0 // sourceMappingURL注释未包含在压缩文件中。

答案 10 :(得分:1)

假设您已检查过该文件实际存在于服务器上,这也可能是由于您的Web服务器限制了所提供的文件类型: