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


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

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


截图

enter image description here

这是从哪里来的?


1016
2017-08-21 18:46


起源


为了解决我的问题,我没有按照这个答案的细节。我的网站只使用js文件,而不是地图。我只是清除了我的浏览器缓存以解决此问题,并重新启动了浏览器。当我开始在构建的ASP.NET通用处理程序(ExtDirectProxy.ashx)上收到500内部服务器错误并将数据传递给jquery以加载页面时,它开始出现。 stackoverflow.com/questions/26135251/... - MacGyver
更改您需要的版本并从下面的url下载并重命名 code.jquery.com/jquery-1.11.1.min.map - Iman Abidi
这会降低下载速度,因为浏览器即使不需要也会下载。 - Quentin 2


答案:


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

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

修复:获取文件

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

enter image description here

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

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

道奇:禁用源图

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


1259
2017-08-21 18:46



我正在为此投票(即使你回答了自己的问题)因为我今天第一次注意到它。这让我有点疯狂试图搞清楚,然后我注意到我正在处理的2个网站上出现了同样的404错误,并且想到了'启用源地图'选项......这就是我看到你的开发工具所得到的谈话并立刻开启一切。我将介绍您提供的文档。 - adam-asdf
我有两件事要补充。 1) 下载jQuery映射文件是不够的,你还需要一个未压缩的源代码(否则你会在调试时看到一个空的jquery - * .js文件)。 2) 如果您从其中一个CDN加载jQuery,则所有三个文件(映射,压缩和未压缩的源代码)都位于同一位置,您可以立即开始调试。 - Konrad Dzwinel
我不确定应该从DevTools中为此提出404,让人感到困惑。不过至少我现在知道如何处理它。另外@adam-asdf只是让你知道你被积极鼓励在SO上回答你自己的问题...meta.stackexchange.com/questions/17845/... - Greg
我同意@Greg。在控制台中针对源地图(代表Chrome / DevTools请求)引发了404错误似乎没有什么帮助。特别是因为许多人甚至不理解为什么(或从哪里)请求资源。 - idbehold
@ SpYk3HH完全可以接受你自己的答案,编辑第三方库是不可取的......因为如果你想更新东西,你会忘记改变了什么。 - Lipis


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


270
2017-08-28 02:59



对不起,我的意思是:有什么场合我需要这条线吗? - Flion
仅在需要调试缩小的JS源代码时才需要。有关详细信息,请查看第2段 html5rocks.com/en/tutorials/developertools/sourcemaps - kiranvj
希望在做出选定的答案之前我已经看过这个。这更容易,应该是主要答案。 op的自我答案对于信息很有用,但绝对是次要的,因为这是第一个在谷歌搜索如何摆脱这种烦恼时弹出的问题。 - SpYk3HH
编辑库来摆脱这些东西不是一个好的选择。每次更新jquery时,此行都会再次出现。 - Arman P.
截至2014年1月, 不包括sourcemap引用 在jQuery发行版中。 - Dan Esparza


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

这是官方公告:

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

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

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

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


这里 你可以找到确认 jQuery 1.11.0/2.1.0 Released 将删除缩小文件中的源映射注释。


41
2017-11-21 08:01



但如果不是因为这种混乱,我就永远不会在这里查找并知道地图存在。我一直在手动为我想要查看的缩小文件添加空格。 - icedwater
Chrome浏览器有一个按钮,可以很好地格式化缩小的文件。在线美容剂也可提供。 - Quentin 2


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

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

  3. 签入Google Chrome: Google Chrome

  4. JavaScript源地图简介

  5. 熟悉 调试JavaScript


40
2017-09-24 18:44





新版本的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评论 未包含在压缩文件中


15
2017-09-24 16:03



不,我不相信jQuery“需要”该文件。只有在调试时才需要使用源映射,在这种情况下需要src文件和映射文件。 - styfle
嗨@styfle,版本1.10.2中需要源映射,但是从版本1.11.0 / 2.1.0必须手动添加它,这是因为许多用户受到浏览器控制台中产生的错误的影响 - Andres Separ


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

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


9
2017-08-24 02:03





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

示例:重命名

jquery-1.9.1.min.map

jquery.min.map


8
2017-11-09 23:50