1084

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

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


截屏

在此处输入图像描述

这是从哪里来的?

4

11 回答 11

1280

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

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

修复:获取文件

接下来,这是一个简单的修复。前往http://jquery.com/download/并单击您的版本的下载地图文件链接,您还需要下载未压缩的文件。

在此处输入图像描述

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

更多关于 sourcemaps 的信息:JavaScript Source Maps 简介

道奇:禁用源图

您现在可以在设置中完全禁用 JavaScript 源映射,而不是获取文件。如果您从不打算在此页面上调试 JavaScript,这是一个不错的选择。使用 DevTools 右下角的齿轮图标打开设置,然后: 在此处输入图像描述

于 2013-08-21T18:46:31.020 回答
282

您可以通过删除该行来删除 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 nightly builds、Google Chrome 或 Firefox 23+)可以自动解析源映射并使其看起来好像您正在运行未压缩和未组合的文件。(在此处阅读更多信息)

于 2013-08-28T02:59:59.853 回答
46

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

以下是官方公告:

我们在此测试版中所做的更改之一是删除 sourcemap 注释。事实证明,Sourcemaps 对开发人员来说是一个非常有问题和令人费解的事情,在 StackOverflow 等论坛上产生了许多令人困惑的问题,并导致用户认为 jQuery 本身已经坏了。

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

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

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


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

于 2013-11-21T08:01:25.227 回答
42
  1. 下载地图文件和jQuery的未压缩版本。
    将它们与缩小版本一起放置:

    JavaScript

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

    HTML

  3. 签入谷歌浏览器:

    谷歌浏览器

  4. 阅读JavaScript Source Maps 简介

  5. 熟悉调试 JavaScript

于 2013-09-24T18:44:03.510 回答
17

新版本的 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 注释不包含在压缩文件中。

于 2013-09-24T16:03:54.617 回答
11

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

而是 x.xx.x 输入您的版本号。

注意:您通过此方法获得的某些链接可能已损坏:)

于 2014-06-18T11:15:39.083 回答
10

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

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

于 2013-08-24T02:03:51.653 回答
8

按照其他答案中的说明进行操作后,我需要从地图文件中删除版本,以便为我工作。

示例:重命名

jquery-1.9.1.min.map

jquery.min.map

于 2013-11-09T23:50:53.147 回答
6

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

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

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

我知道这不是原始问题的答案,但我敢肯定还有其他人具有类似的 Grunt 配置。

于 2014-10-15T23:31:45.170 回答
5

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

于 2014-01-25T17:15:31.347 回答
1

假设您已检查文件实际上存在于服务器上,这也可能是由于您的 Web 服务器限制了提供的文件类型:

于 2014-08-06T08:50:36.803 回答