jQuery CDN 中 jQuery 1.9.1 的错误地图文件

发布日期: 作者:

早在很久以前,Mike Taylor 就指出 jQuery CDN 中有一个最小化的 jQuery 1.9.1 版本,其地图文件引用错误。基本上,它引用了 jQuery 1.11.1 的地图文件,而这显然是错误的。如果你正在尝试调试一个使用最小化 jQuery 1.9.1 文件的网站,开发者工具会非常混乱,让本来就困难的任务变得更加困难。

你可能会认为我们可以直接编辑https://code.jqueryjs.cn/jquery-1.9.1.min.js文件,使其指向正确的地图文件,该文件确实存在于https://code.jqueryjs.cn/jquery-1.9.1.min.map中。这样做的至少有两个问题。第一个问题是,该文件在互联网上被大量缓存,因为多年来人们一直认为它在发布后将永远不会改变。即使我们编辑了该文件,JavaScript 和地图文件也可能在它们被使用的实际位置无法更新。

第二个问题更为严重。我们一直在倡导开发人员使用脚本的integrity属性,以确保你包含的文件没有在你最初编写脚本标签后被修改。如果我们修改文件的内容,此属性将变得不正确,并且页面将不再包含该文件。这很可能完全破坏页面!鉴于 jQuery 1.9.1 的使用年限,可能很多包含此文件的页面都没有被积极维护。因此,我们不能认真考虑以任何方式更改 JavaScript 文件,即使是一字节也不行。

最不具破坏性的选择是删除 jQuery 1.9.1 最小化文件引用的jquery.min.map文件。它不会影响 jQuery 是否能够为网站访问者正常运行。它只会禁用源地图。由于这些缺点,我们不再在 CDN JavaScript 文件中包含sourceMappingURL地图引用,因为这些文件通常会被复制到其他地方。

如果你需要调试使用这些最小化文件的网站,可以在 Chrome 中手动关联地图文件。打开最小化源文件,右键点击最小化源的区域,然后选择“添加源地图...”。

错误的jquery.min.map文件已从 jQuery CDN 中删除。我们预计删除此文件不会带来任何可观察到的变化,除了恢复对使用 jQuery 1.9.1 的网站进行调试的正常功能外。jQuery 1.11.1 最小化文件不会引用其地图,因此它将继续正常工作,你也可以像上面提到的那样关联地图文件。

由于 CDN 和互联网上的缓存非常激进,你可能还会在一段时间内看到此地图文件。如果你看到一些你认为与缺失的jquery.min.map文件相关的异常行为,可以在 CDN 问题追踪器上提交一个工单.

关于“jQuery CDN 中 jQuery 1.9.1 的错误地图文件”的 2 个想法