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

jQuery的jQuery -1.10.2.min。map正在触发404(未找到)


截图

这是怎么回事?


当前回答

在遵循其他答案中的说明后,我需要从地图文件中剥离这个版本,以便为我工作。

例如:重命名

jquery-1.9.1.min.map

to

jquery.min.map

其他回答

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

可以通过删除该行来删除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 1.11和2.1发布会上宣布,源地图注释将被移除,这样这个问题就不会出现在新版本的jQuery中。

以下是官方公告:

在这个测试版中,我们所做的其中一个改变就是删除了源地图 发表评论。源地图已经被证明是一个非常有问题和令人困惑的 在论坛上产生了大量令人困惑的问题 比如StackOverflow,导致用户认为jQuery本身就是 坏了。

不管怎样,如果你需要使用源映射,它仍然可用:

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

你可以在这里找到更多关于这些变化的细节。


在这里,您可以确认使用jQuery 1.11.0/2.1.0发布后,缩小文件中的源映射注释已被删除。

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

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

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

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

所以dev tools在找jquery。min。map;而不是jquery.min.map。

我知道这不是最初问题的答案,但我确信还有其他人具有类似的Grunt配置。