我正在寻找一种优雅的方法来找出导致超时错误(即无法加载依赖项)的脚本的完整路径。
requirejs.onError = function (err) {
// this works:
var script_that_failed_loading = err.originalError.target.src
// now I want:
var the_script_responsible_for_this = <???>
};
我正在寻找一种优雅的方法来找出导致超时错误(即无法加载依赖项)的脚本的完整路径。
requirejs.onError = function (err) {
// this works:
var script_that_failed_loading = err.originalError.target.src
// now I want:
var the_script_responsible_for_this = <???>
};
require(["foo","bar"],function(foo,bar){
// perform some action
},function(error){
// handle error here
});
请注意,失败的模块名称在error.requireModules
. 这样的错误反馈既可以用于加载器,也可以用于模块。如果您有多个资源的后备路径,请使用path fallbacks。
根据我的个人经验,我谦虚地不同意ddotsenko。我们在生产环境中使用 RequireJS。如果设置正确,RJS 非常可靠。
RequireJS 选择了一种有点不可靠的、不连贯的机制来捕获错误。它使用计时器来查看它是否期望得到它。其他一些 AMD 加载程序使用其他更直接的机制来检测加载期间的错误情况。
我首选的 AMD 加载程序是CurlJS,它通过硬连线来捕获加载/解析错误。
由于架构选择,它更可靠地检测错误条件,您可以将错误处理程序直接附加到每个require
调用。如果诸如错误捕获之类的东西对您很重要,我强烈建议您查看 CurlJS。