如何从 require.js 错误中获取行号?
How can I get line numbers from require.js errors?
这个问题困扰了我一段时间,但一直没能找到解决办法。当我的某个脚本出现错误时,例如语法错误,Chrome 的控制台不会给我非常有用的错误消息。
例如,在一个名为 example.js
的简单脚本中,我正在调用一个名为 whatever()
的函数,该函数不存在:
define(function(require){
'use strict';
whatever();
});
我的控制台错误 Chrome 状态:
ReferenceError: whatever is not defined(…) require.js:901
我期待 ReferenceError 但 require.js
的第 901 行只是一些负责抛出错误的代码。此外,堆栈跟踪没有显示任何有用的信息;它还仅引用 require.js
中的行。我注意到 Firefox 的检查器确实在堆栈跟踪中显示了问题的实际位置,这很有帮助,但我更喜欢在 Chrome.
中开发
有没有办法让控制台错误指向实际问题所在的行号和文件?我更愿意看到:
ReferenceError: whatever is not defined(…) example.js:4
我见过 this question 和其他类似的听起来很相似但我还没有找到任何适用于这种情况的,或者与 requirejs 一起工作的代码来解决这个问题。也许我可以以某种方式修改 requirejs.onError
?
您是否尝试附加
//# sourceURL=example.js
在评估脚本的末尾?调试器会将代码理解为源自 example.js 文件而不是来自对其进行评估的脚本。
您确定 Require.JS 不支持开箱即用?我在 GitHub 上发布了我自己的 "Javascript DNA" 异步 loader/dependency 自动解析器,它非常简单,所以我猜 require.js 已经有类似的东西了...
这个问题困扰了我一段时间,但一直没能找到解决办法。当我的某个脚本出现错误时,例如语法错误,Chrome 的控制台不会给我非常有用的错误消息。
例如,在一个名为 example.js
的简单脚本中,我正在调用一个名为 whatever()
的函数,该函数不存在:
define(function(require){
'use strict';
whatever();
});
我的控制台错误 Chrome 状态:
ReferenceError: whatever is not defined(…) require.js:901
我期待 ReferenceError 但 require.js
的第 901 行只是一些负责抛出错误的代码。此外,堆栈跟踪没有显示任何有用的信息;它还仅引用 require.js
中的行。我注意到 Firefox 的检查器确实在堆栈跟踪中显示了问题的实际位置,这很有帮助,但我更喜欢在 Chrome.
有没有办法让控制台错误指向实际问题所在的行号和文件?我更愿意看到:
ReferenceError: whatever is not defined(…) example.js:4
我见过 this question 和其他类似的听起来很相似但我还没有找到任何适用于这种情况的,或者与 requirejs 一起工作的代码来解决这个问题。也许我可以以某种方式修改 requirejs.onError
?
您是否尝试附加
//# sourceURL=example.js
在评估脚本的末尾?调试器会将代码理解为源自 example.js 文件而不是来自对其进行评估的脚本。
您确定 Require.JS 不支持开箱即用?我在 GitHub 上发布了我自己的 "Javascript DNA" 异步 loader/dependency 自动解析器,它非常简单,所以我猜 require.js 已经有类似的东西了...