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

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

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


截图

在此处输入图像描述

这是从哪里来的?

如果Chrome DevTools报告的是.map文件的404(可能是jquery-1.10.2.min.mapjquery.min.mapjquery-2.0.3.min.map ,但可能会发生任何事情)首先要知道的事情只有在使用DevTools时才会要求它。 您的用户将无法访问此404。

现在您可以解决此问题或禁用源映射function。

修复:获取文件

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

在此处输入图像描述

拥有映射文件允许您通过原始源调试缩小的jQuery,如果您不喜欢处理变量名称(如ac ,这将节省大量时间和挫败感。

有关源图的更多信息: JavaScript源地图简介

道奇:禁用源图

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

您可以通过删除该行来删除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+)可以自动解析源地图,使其看起来像是在运行未经组合和未组合的文件。 (在这里阅读更多内容)

正如在jQuery 1.11.0/2.1.0 Beta 2 Released宣布的那样,将删除源地图注释,因此该问题不会出现在较新版本的jQuery

这是官方公告:

我们在此测试版中所做的一项更改是删除源图注释。 对于开发人员来说,源图已经certificate是一个非常棘手和令人费解的事情,在StackOverflow等论坛上产生了大量混乱的问题,并导致用户认为jQuery本身已被破坏。

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

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

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


在这里你可以找到使用jQuery 1.11.0/2.1.0 Released的确认信息。删除了缩小文件中的源地图注释。

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

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

  3. 签入Google Chrome: 谷歌浏览器

  4. 阅读JavaScript源映射简介

  5. 熟悉调试JavaScript

新版本的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注释不包含在压缩文件中

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

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

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

示例:重命名

jquery-1.9.1.min.map

jquery.min.map

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

相反,x.xx.x会输入您的版本号。

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

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

我使用;\n作为分隔符,导致源映射的路径为404。

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

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

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

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

  • 在Apache中,如果您使用的是mod_rewrite,可以使用指令或RewriteRule来完成。
  • 在IIS中,您需要查看Web.config文件 。