【问题标题】:jQuery's jquery-1.10.2.min.map is triggering a 404 (Not Found)jQuery 的 jquery-1.10.2.min.map 正在触发 404(未找到)
【发布时间】:2013-08-24 06:58:34
【问题描述】:

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

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


截图

这是从哪里来的?

【问题讨论】:

    标签: javascript jquery google-chrome-devtools


    【解决方案1】:

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

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

    修复:获取文件

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

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

    更多关于源地图的信息:An Introduction to JavaScript Source Maps

    道奇:禁用源地图

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

    【讨论】:

    • 我有两件事要补充。 1) 下载一个 jQuery 映射文件是不够的,你还需要一个未压缩的源代码(否则你会在调试时看到一个空的 jquery-*.js 文件)。 2) 如果您从 CDN 之一加载 jQuery,则所有三个文件(地图、压缩和未压缩的源代码)都位于同一位置,您可以立即开始调试。
    • 我不确定是否应该从 DevTools 提出 404,这似乎让人们感到困惑。尽管如此,至少我现在知道如何处理它。还有@adam-asdf,只是为了让您知道我们积极鼓励您在 SO...meta.stackexchange.com/questions/17845/… 上回答您自己的问题
    【解决方案2】:

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

    【讨论】:

    • 仅当您需要调试缩小的 JS 源代码时才需要。在此处查看第二段以获取更多详细信息html5rocks.com/en/tutorials/developertools/sourcemaps
    • 希望我在选择答案之前看到这个。这要容易得多,应该是主要答案。操作员的自我回答对信息有好处,但绝对是次要的,因为这是谷歌搜索如何消除这种烦恼时弹出的第一个问题。
    • 编辑库来摆脱这些东西并不是一个好的选择。每次更新 jquery 时,此行都会再次出现。
    【解决方案3】:

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

    以下是官方公告:

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

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

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

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


    Here 您可以确认使用jQuery 1.11.0/2.1.0 Released 已删除缩小文件中的源映射注释。

    【讨论】:

    • 但如果不是因为这种混乱,我永远不会在这里查找它并知道存在地图。我一直在手动为我想要查看的缩小文件添加空格。
    • Chrome 浏览器有一个按钮,可以很好地格式化一个缩小的文件。也可以使用在线美化器。
    【解决方案4】:
    1. Download 地图文件和 jQuery 的未压缩版本。
      把它们和缩小版放在一起:

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

    3. 登录谷歌浏览器:

    4. 阅读Introduction to JavaScript Source Maps

    5. 熟悉Debugging JavaScript

    【讨论】:

      【解决方案5】:

      新版本的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“需要”那个文件。只有当你想在调试时使用源映射时才需要它,在这种情况下,src文件和映射文件都需要。
      • 嗨@styfle,1.10.2版本需要源地图,但从1.11.0/2.1.0版本开始必须手动添加,这是因为许多用户受到错误的影响在浏览器控制台中生成
      【解决方案6】:

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

      取而代之的是 x.xx.x 输入你的版本号。

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

      【讨论】:

        【解决方案7】:

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

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

        【讨论】:

          【解决方案8】:

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

          示例:重命名

          jquery-1.9.1.min.map

          jquery.min.map

          【讨论】:

            【解决方案9】:

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

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

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

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

            【讨论】:

              【解决方案10】:

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

              【讨论】:

                【解决方案11】:

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

                【讨论】:

                  猜你喜欢
                  • 2013-08-31
                  • 2013-09-28
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-07-15
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多