在 Safari 中显示 javascript 语法错误的文件和行

Showing file and line of javascript syntax error in Safari

对于以下错误:

SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.

Safari 未显示 fileline 的正确堆栈跟踪。请注意 html 中没有内联 javascript 代码:它都在 .js 文件中。我怎样才能更好地处理发生此错误的位置?

this answer that links to this post

像这样覆盖你的window.onerror

window.onerror = function(message, url, linenumber) {
    alert('JavaScript error: ' + message + ' on line ' + linenumber + ' for ' + url);
}

如果您正在开发生产应用程序,您确实应该使用 babel,它将为您解决此类问题。如果它没有解决这些问题,请确保更新您的包/npm 等。

要获得更多技术性信息,这是因为您(或您的某个用户)使用的是过时版本的 Safari,该版本仅正式支持一些最新和最伟大的 javascript 改进。升级 Safari 也可能会解决这个问题,具体取决于您阅读本文的时间。

干杯