我目前正在使用windows.onerror来记录生产环境中的javascript错误。我正在使用webpack来捆绑我们的javascript,并使用uglify插件来进行minify。不幸的是,ErrorEvent对象的lineno和columno来自于由webpack生成的缩小的blob。Webpack正在生成其默认的源地图文件。有没有办法获得正确的lineno和columno
w.addEventListener("error", handleError, true);
function handleError(e) {
let errorToLog = {};
if (e.message) {
errorToLog.ErrorMessage = e.message;
}
if (e.filename) {
errorToLog.source = e.filename;
}
if (e.lineno) {
errorToLog.lineNumber = e.lineno;
}
if (e.colno) {
errorToLog.columnNumber = e.colno;
}
if (e.error.stack) {
errorToLog.stackTrace = e.error.stack;
}发布于 2016-11-19 04:50:09
使用webpack的`devtool'设置添加源地图:
{
devtool: "#inline-source-map"
}请注意,使用完整的源代码映射会增加转换时间的开销,因此,如果您可以在开发过程中不使用列号,请使用更快的cheap-module-inline-source-map:
{
devtool: "#cheap-module-inline-source-map"
}发布于 2017-03-14 06:11:39
有很多可能的问题。
最常见的情况是,uglify现在需要显式的sourcemap: true,否则它将中断源地图的生成。现在默认是false,因为,呃,原因。
https://stackoverflow.com/questions/40685699
复制相似问题