javascript window.onerror消息仅包含;脚本错误。”;我怎样才能得到电话号码?

javascript window.onerror消息仅包含;脚本错误。”;我怎样才能得到电话号码?,javascript,error-handling,Javascript,Error Handling,您可能通过window.onerror保护js脚本以捕获全局异常, 问题是,我的生产文件是压缩的,行号总是1,所以我真的不知道错误发生在哪里?你有什么建议在这种情况下我能做什么 window.onerror = function (errorMsg, fileName, lineNumber) { logger.sendError(errorMsg + " file name " + fileName, "window.onerror") }; 正如Ianzz在他的评论中所说,一般来说,浏览器

您可能通过window.onerror保护js脚本以捕获全局异常, 问题是,我的生产文件是压缩的,行号总是1,所以我真的不知道错误发生在哪里?你有什么建议在这种情况下我能做什么

window.onerror = function (errorMsg, fileName, lineNumber) { logger.sendError(errorMsg + " file name " + fileName, "window.onerror") };

正如Ianzz在他的评论中所说,一般来说,浏览器不可能为精简代码确定有意义的行号。毕竟:如果所有代码都在一行上,那么正确(但毫无用处)的行号总是
1

然而,允许使用源映射是一种趋势,源映射是单独的文件,用于精确指定(缩小的)JavaScript如何映射回更有意义的输入

该规范相对较新,尚未广泛传播。但是,根据您的缩小框架,可能已经有一个工具可用于生成源映射。

如果它显示“脚本错误”,则由于违反CSP(内容安全策略),浏览器已阻止您的错误处理代码访问堆栈

通常,如果代码来自不同的域,或者使用eval或JSONP,就会发生这种情况


默认情况下,大多数绑定器(例如browserify/webpack)使用eval或JSONP。对于webpack,您可以设置
config.devtool
来更改此设置。

如果您的代码缩小为一行,则您将获得唯一有意义的行号。浏览器无法猜测代码在缩小之前是如何布局的。在压缩文件上开发项目不是很荒谬吗?(如果压缩文件是您的)。你可以美化你的js文件,我有两个源文件和压缩文件在服务器上,我正在寻找一种方法,以取代压缩与美化一个例外情况下的文件