96

我有一个网页,它是在 Azure 上运行的 ASP.NET 网站的一部分。现在已经运行了很长一段时间了。出乎意料的是,我突然在尝试为 Underscore.js 下载“.map”的浏览器时遇到问题。我做了一些阅读,显然 JQuery 创建了“.map”文件作为 Javascript 源文件(“.js”)的调试辅助工具。但是,如果我查看我网站的 Scripts 目录,我会发现这只发生在一些 JQuery 源文件中,而不是全部,我不确定模式是什么。

但是,为什么浏览器会尝试为不属于 JQuery 的 Underscore.js 加载“地图”文件?另外,为什么会突然开始发生这种情况?很久以前,我将 Underscore.js 添加到网页中,以前从未遇到过这个问题。

当我查看 Chrome 调试器控制台选项卡时,我得到的确切错误是:

获取http://myazureapp.cloudapp.net/Scripts/underscore-min.map 404(未找到)脚本/underscore-min.map:1

4

1 回答 1

228

您正在经历的是source mapping。这允许您在处理缩小的 JS 文件时在浏览器的开发人员工具中使用可读代码进行调试。

Underscore 的缩小版在文件末尾有这一行:

//# sourceMappingURL=underscore-min.map

underscore-min.map遇到此行时,您的浏览器的开发人员工具会尝试下载。

如果你想摆脱错误,要么:

  1. underscore-min.js
  2. underscore-min.mapunderscore.js添加到您的项目中。
于 2013-08-25T14:07:46.237 回答