【问题标题】:Missing Javascript ".map" file for Underscore.js when loading ASP.NET web page [duplicate]加载 ASP.NET 网页时缺少 Underscore.js 的 Javascript“.map”文件 [重复]
【发布时间】:2013-08-28 02:04:55
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript asp.net underscore.js


    【解决方案1】:

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

    缩小版的下划线在文件末尾有这一行:

    //# sourceMappingURL=underscore-min.map
    

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

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

    1. underscore-min.js 中删除该行
    2. underscore-min.mapunderscore.js 添加到您的项目中。

    【讨论】:

    • 由于我不想接触源代码(下次升级时会丢失),是否有任何 grunt 配置来强制使用不同的名称而不是“underscore-min.map”?或者其他更简单的方法而不是手动更改代码?
    • @lubosdz 您是否尝试过答案中的第 2 点?就我而言,我只是创建了一个与原始文件同名但扩展名为 .map 而不是 .js 的附加空文件(例如 foo.min.js => add empty foo.min.map)。这使浏览器保持愉快,并且不会影响源代码或更新。
    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2012-01-30
    • 2015-12-09
    • 2020-04-17
    • 1970-01-01
    相关资源
    最近更新 更多