调试Ember.js错误:加载路由时出错
虽然在任何特定情况下,都有关于如何调试错误的提示和线索,但我还没有找到一个通用的余烬策略。调试Ember.js错误:加载路由时出错,ember.js,Ember.js,虽然在任何特定情况下,都有关于如何调试错误的提示和线索,但我还没有找到一个通用的余烬策略。 例如,加载路由时出现类型错误: 断言失败:加载路由时出错:TypeError:“undefined”不是对象(评估“window.router.lander”)(忽略我试图访问window.router.lander的事实。这与此无关) 当这个错误发生时,为什么Ember不告诉您它正在加载哪个路由?或者它是发生在afterModel()中,还是发生在activate()中?找到这种上下文信息的一般策略是什
例如,加载路由时出现类型错误:
断言失败:加载路由时出错:TypeError:“undefined”不是对象(评估“window.router.lander”)
(忽略我试图访问window.router.lander的事实。这与此无关)
当这个错误发生时,为什么Ember不告诉您它正在加载哪个路由?或者它是发生在afterModel()中,还是发生在activate()中?找到这种上下文信息的一般策略是什么
到目前为止,我所能做的就是添加一堆分散的console.log。例如,上面的错误:1) 在我的代码中查找所有出现的window.router.lander
2) 在第一次出现之前,添加一个console.log(“它是第一次出现吗?”),在第一次出现之后,添加一个console.log(“它不是第一次出现”)
3) 对每一次事件都做同样的处理
4) 刷新。“it it the nth occurrence”(是第n次出现吗)中的一个不会有更接近的结果,现在您知道错误发生在哪里了。Ember在模型挂钩中出现错误或返回承诺时没有特别的帮助。我肯定我在其中一个问题上读过(或者我不确定)这是一个他们正在处理的公开问题 我所做的是使用Chrome开发者工具来调试这个问题(而不仅仅是控制台日志)。根据我的经验,通常是:
then
函数之一内部出现错误我希望它能帮助你 当涉及到模型钩子中的错误或它返回的承诺时,Ember并没有特别的帮助。我肯定我在其中一个问题上读过(或者我不确定)这是一个他们正在处理的公开问题 我所做的是使用Chrome开发者工具来调试这个问题(而不仅仅是控制台日志)。根据我的经验,通常是:
then
函数之一内部出现错误我希望它能帮助你 当涉及到模型钩子中的错误或它返回的承诺时,Ember并没有特别的帮助。我肯定我在其中一个问题上读过(或者我不确定)这是一个他们正在处理的公开问题 我所做的是使用Chrome开发者工具来调试这个问题(而不仅仅是控制台日志)。根据我的经验,通常是:
then
函数之一内部出现错误我希望它能帮助你 当涉及到模型钩子中的错误或它返回的承诺时,Ember并没有特别的帮助。我肯定我在其中一个问题上读过(或者我不确定)这是一个他们正在处理的公开问题 我所做的是使用Chrome开发者工具来调试这个问题(而不仅仅是控制台日志)。根据我的经验,通常是:
then
函数之一内部出现错误我希望它能帮助你 为了更好地调试,您可以通过使用
LOG\u transitions
和/或LOG\u transitions\u INTERNAL
属性创建应用程序来启用转换日志记录:
window.App = Ember.Application.create({
// Basic logging, e.g. "Transitioned into 'post'"
LOG_TRANSITIONS: true,
// Extremely detailed logging, highlighting every internal
// step made while transitioning into a route, including
// `beforeModel`, `model`, and `afterModel` hooks, and
// information about redirects and aborted transitions
LOG_TRANSITIONS_INTERNAL: true
});
参考:
此外,您还可以使用canary build,它提供了详细的错误堆栈:
为了更好地调试,您可以通过使用
LOG\u transitions
和/或LOG\u transitions\u INTERNAL
属性创建应用程序来启用转换日志记录:
window.App = Ember.Application.create({
// Basic logging, e.g. "Transitioned into 'post'"
LOG_TRANSITIONS: true,
// Extremely detailed logging, highlighting every internal
// step made while transitioning into a route, including
// `beforeModel`, `model`, and `afterModel` hooks, and
// information about redirects and aborted transitions
LOG_TRANSITIONS_INTERNAL: true
});
参考:
此外,您还可以使用canary build,它提供了详细的错误堆栈:
为了更好地调试,您可以通过使用
LOG\u transitions
和/或LOG\u transitions\u INTERNAL
属性创建应用程序来启用转换日志记录:
window.App = Ember.Application.create({
// Basic logging, e.g. "Transitioned into 'post'"
LOG_TRANSITIONS: true,
// Extremely detailed logging, highlighting every internal
// step made while transitioning into a route, including
// `beforeModel`, `model`, and `afterModel` hooks, and
// information about redirects and aborted transitions
LOG_TRANSITIONS_INTERNAL: true
});
参考:
此外,您还可以使用canary build,它提供了详细的错误堆栈:
为了更好地调试,您可以通过使用
LOG\u transitions
和/或LOG\u transitions\u INTERNAL
属性创建应用程序来启用转换日志记录:
window.App = Ember.Application.create({
// Basic logging, e.g. "Transitioned into 'post'"
LOG_TRANSITIONS: true,
// Extremely detailed logging, highlighting every internal
// step made while transitioning into a route, including
// `beforeModel`, `model`, and `afterModel` hooks, and
// information about redirects and aborted transitions
LOG_TRANSITIONS_INTERNAL: true
});
参考:
此外,您还可以使用canary build,它提供了详细的错误堆栈:
所以我完成了对这个问题的跟踪,它实际上是在
激活
钩子中——这正是我所说的!没办法知道发生了什么。谢谢你的回答。你能把这个问题贴在一张纸上吗?我不是在寻求帮助解决这个问题,我现在已经解决了。我可以用“虫子”组合一把小提琴,我们可以讨论找到它的最佳方法?是的!我想看看这个问题。PS:使用调试器仍然是一个好主意,对吗?所以我完成了对这个问题的跟踪,它实际上是在activate
hook中——这正是我所说的!没办法知道发生了什么。谢谢你的回答。你能把这个问题贴在一张纸上吗?我不是在寻求帮助解决这个问题,我现在已经解决了。我可以用“虫子”组合一把小提琴,我们可以讨论找到它的最佳方法?是的!我想看看这个问题。PS:使用调试器仍然是一个好主意,对吗?所以我完成了对这个问题的跟踪,它实际上是在activate
hook中——这正是我所说的!没办法知道发生了什么。谢谢你的回答。你能把这个问题贴在一张纸上吗?我不是在寻求帮助解决这个问题,我现在已经解决了。我可以用“虫子”组合一把小提琴,我们可以讨论找到它的最佳方法?是的!我想看看这个问题。PS:使用调试器仍然是一个好主意,对吗?所以我完成了对这个问题的跟踪,它实际上在激活中