我看到有关未找到文件min.map
的错误消息:
GET jQuery的jquery-1.10.2.min.map正在触发404(未找到)
这是从哪里来的?
答案 0 :(得分:1264)
如果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
和{{1}等变量名称,这将节省大量时间和挫败感}}。
有关源图的更多信息,请访问:An Introduction to JavaScript Source Maps
您可以在设置中完全禁用JavaScript源地图,而不是获取文件。如果您从未计划在此页面上调试JavaScript,那么这是一个很好的选择。 使用DevTools右下角的cog图标打开设置,然后:
答案 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)
Download地图文件和jQuery的未压缩版本。将它们与缩小版本放在一起:
在您的HTML中包含缩小版本:
签入Google Chrome:
答案 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服务器限制了所提供的文件类型: