浏览器源映射的故障排除

6
源代码映射对于调试最小化的脚本或翻译语言(例如CoffeeScript)非常有帮助,但浏览器提供的输出很少,无法解决为什么映射不起作用的问题。是否有人有一个清单可以用来找到您的映射出了什么问题。目前,我已经在我的本地开发环境中使设置工作正常,但是当尝试将其部署到我们的暂存服务器时,“它不起作用”。
我已经验证的本地和暂存环境之间相同的事情:
  1. 检查检查器设置中是否启用了源代码映射
  2. 从/js提供package.min.js文件
  3. package.min.js包含相同的//@ sourceMappingURL=package.min.js.map行
  4. uglify-js2生成的被压缩源代码+源代码映射
  5. 原始文件可在/js中访问
我看到的一个区别是生成的源代码映射的大小略有不同,并且sourcemap哈希的sources属性中的文件排序略有不同。但是源代码映射非常大,因此验证它实际上并没有以重要的方式不同并不是微不足道的。

你可以尝试使用http://murzwin.com/base64vlq.html - 它可以从Base64-VLQ映射中生成可读的输出。 - Alexander Pavlov
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - LordOfThePigs
1个回答

1

源映射(以及原始源文件)通过HTTP获取。查看您的服务器日志以查看浏览器实际请求了什么。

另外: //@ 将被替换//#


2
我想强调的是这个变化是在未来发生的。目前由grunt任务使用的uglify版本输出新的//#格式,但当前版本的Chrome(27.0.1453.116)似乎只支持旧的//@格式。在我找到原因之前,这让我疯狂了。 - Useless Code

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接