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

Pau*_*ish 1051 javascript jquery google-chrome-devtools

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

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


截图

在此输入图像描述

这是从哪里来的?

Pau*_*ish 1271

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

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

修复:获取文件

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

在此输入图像描述

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

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

道奇:禁用源图

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

  • 我有两件事要补充.**1)**下载jQuery映射文件是不够的,你还需要一个未压缩的源代码(否则你会在调试时看到一个空的jquery - *.js文件).**2)**如果您从其中一个CDN加载jQuery,则所有三个文件(映射,压缩和未压缩的源代码)都位于同一位置,您可以立即开始调试. (47认同)
  • 我不确定应该从DevTools中为此提出404,让人感到困惑.不过至少我现在知道如何处理它.另外@adam-asdf只是让你知道你被积极鼓励回答你自己的问题...... http://meta.stackexchange.com/questions/17845/etiquette-for-answering-your-own-question (42认同)
  • 我同意@Greg.在控制台中针对源地图(代表Chrome/DevTools请求)引发了404错误似乎没有什么帮助.特别是因为许多人甚至不理解为什么(或从哪里)请求资源. (12认同)
  • 我为此投票(即使您回答了自己的问题),因为我今天第一次注意到它。试图弄清楚这件事让我有点发疯,然后我注意到我正在处理的 2 个站点上出现了相同的 404 错误,并且想到了“启用源地图”选项……这就是我观看您的开发工具时得到的结果通话并立即打开一切。我会检查你提供的文档。 (9认同)
  • @ SpYk3HH完全可以接受你自己的答案,编辑第三方库是不可取的......因为如果你想更新东西,你会忘记改变了什么. (9认同)
  • @idbehold,一般来说,唯一看到这些错误的人就是开发人员,他们应该能够找到它们的内容.默默失败绝不是一件好事. (4认同)

kir*_*nvj 274

您可以通过删除行删除404

//@ sourceMappingURL=jquery-1.10.2.min.map
Run Code Online (Sandbox Code Playgroud)

从jQuery文件的顶部开始.

jQuery文件的顶部部分将如下所示.

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

只需改变它

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
Run Code Online (Sandbox Code Playgroud)

源地图的目的

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

  • 编辑库以摆脱这些事情并不是一个好的选择.每次更新jquery时,此行都会再次出现. (13认同)
  • 仅在需要调试缩小的JS源代码时才需要.点击此处查看第2段了解更多详情http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ (6认同)
  • 截至2014年1月,jQuery发行版中不包括[源代码地图引用](http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/). (6认同)
  • 希望在做出选定的答案之前我已经看过这个.这更容易,应该是主要答案.op的自我答案对于信息很有用,但绝对是次要的,因为这是第一个在谷歌搜索如何摆脱这种烦恼时弹出的问题. (5认同)

got*_*tqn 44

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

这是官方公告:

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

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

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

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


在这里,您可以找到jQuery 1.11.0/2.1.0 Released删除缩小文件中的源映射注释的确认.

  • Chrome 浏览器有一个按钮,可以很好地格式化缩小的文件。还可以使用在线美化器。 (2认同)

kay*_*yz1 41

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

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

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

  4. 阅读JavaScript源映射简介

  5. 熟悉调试JavaScript


And*_*par 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注释不包含在压缩文件中.

  • 不,我不相信jQuery"需要"该文件.只有在调试时才需要使用源映射,在这种情况下需要src文件和映射文件. (3认同)

Jam*_* Ye 9

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

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


小智 9

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

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

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


dro*_*son 8

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

示例:重命名

jquery-1.9.1.min.map

jquery.min.map


nic*_*iel 6

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

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

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

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


小智 5

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