我看到错误消息关于一个文件,min.map,没有找到:
jQuery的jQuery -1.10.2.min。map正在触发404(未找到)
截图
这是怎么回事?
我看到错误消息关于一个文件,min.map,没有找到:
jQuery的jQuery -1.10.2.min。map正在触发404(未找到)
截图
这是怎么回事?
如果Chrome DevTools报告一个.map文件的404错误(可能是jquery-1.10.2.min。Map, jquery.min.map或jquery-2.0.3.min。首先要知道的是,这只在使用DevTools时被请求。 您的用户将不会碰到这个404。
现在您可以修复这个问题或禁用源地图功能。
解决办法:获取文件
接下来,这很容易解决。转到http://jquery.com/download/,并点击下载对应版本的地图文件链接,您也会希望下载未压缩的文件。
有了映射文件,您就可以通过原始源代码调试缩小后的jQuery,如果您不喜欢处理a和c这样的变量名,这将节省大量时间和挫败感。
更多关于源地图的信息请点击这里:JavaScript源地图介绍
Dodge:禁用源地图
现在,您可以在设置中完全禁用JavaScript源映射,而不是获取文件。如果您不打算在这个页面上调试JavaScript,那么这是一个不错的选择。 使用DevTools右下角的齿轮图标,打开设置,然后:
根据我对浏览器的理解,至少Chrome,默认情况下不会禁用源映射。这意味着应用程序的用户将在默认情况下触发此源映射请求。
您可以通过删除//@ sourceMappingURL=jquery.min来删除源映射。映射你的JavaScript文件。
可以通过删除该行来删除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 */
源映射的目的
Basically it's a way to map a combined/minified file back to an unbuilt state. When you build for production, along with minifying and combining your JavaScript files, you generate a source map which holds information about your original files. When you query a certain line and column number in your generated JavaScript you can do a lookup in the source map which returns the original location. Developer tools (currently WebKit nightly builds, Google Chrome, or Firefox 23+) can parse the source map automatically and make it appear as though you're running unminified and uncombined files. (Read more on this here)
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的非压缩版本。 把它们和缩小版放在一起: 包括缩小版本到你的HTML: 登录谷歌Chrome浏览器: 阅读JavaScript源映射介绍 熟悉调试JavaScript
在遵循其他答案中的说明后,我需要从地图文件中剥离这个版本,以便为我工作。
例如:重命名
jquery-1.9.1.min.map
to
jquery.min.map
在jQuery 1.11和2.1发布会上宣布,源地图注释将被移除,这样这个问题就不会出现在新版本的jQuery中。
以下是官方公告:
在这个测试版中,我们所做的其中一个改变就是删除了源地图 发表评论。源地图已经被证明是一个非常有问题和令人困惑的 在论坛上产生了大量令人困惑的问题 比如StackOverflow,导致用户认为jQuery本身就是 坏了。
不管怎样,如果你需要使用源映射,它仍然可用:
我们仍然会生成和分发源代码图,但你会的 的末尾需要添加适当的源地图注释 如果浏览器不支持手动关联映射,则缩小文件 文件(目前没有)。如果您生成自己的jQuery文件使用 自定义构建过程中,源地图注释将出现在 缩小文件和地图生成;你可以把它留在里面,然后 使用源地图或将其编辑掉并完全忽略地图文件。
你可以在这里找到更多关于这些变化的细节。
在这里,您可以确认使用jQuery 1.11.0/2.1.0发布后,缩小文件中的源映射注释已被删除。
如果你想获得不同版本的源地图文件,可以使用这个链接 http://code.jquery.com/jquery-x.xx.x.min.map
相反,x.xx.x输入您的版本号。
注意:一些链接,你得到这个方法,可能是坏的:)
假设你已经检查了文件是否存在于服务器上,这也可能是由于你的web服务器限制了文件类型:
在Apache中,这可以通过<FilesMatch>指令来完成,如果你使用mod_rewrite的话,可以使用RewriteRule。 在IIS中,您需要访问Web。配置文件。
我也遇到过同样的问题。我的原因是Grunt连接了我的JavaScript文件。
我使用了一个;\n作为分隔符,导致源路径映射到404。
所以dev tools在找jquery。min。map;而不是jquery.min.map。
我知道这不是最初问题的答案,但我确信还有其他人具有类似的Grunt配置。