微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何调试角度2 aot故障

I have an angular 2 app generated by ng cli.

– When I run ng build (or) ng build –prod –aot=false and serve up the page things just work fine.
– But when I try to enable aot by running ng serve –aot=true and serve up,the page breaks with multiple DI errors like below

Very hard to debug. Any idea on how to debug these issues?

例外:没有选项提供商!
error_handler.js:59 ORIGINAL STACKTRACE:
ErrorHandler.handleError @ error_handler.js:59
(匿名)@ application_ref.js:272
webpackJsonp.679.ZoneDelegate.invoke @ zone.js:229
onInvoke @ ng_zone.js:271
webpackJsonp.679.ZoneDelegate.invoke @ zone.js:228
webpackJsonp.679.Zone.run @ zone.js:113
(匿名)@ zone.js:509
webpackJsonp.679.ZoneDelegate.invokeTask @ zone.js:262
onInvokeTask @ ng_zone.js:262
webpackJsonp.679.ZoneDelegate.invokeTask @ zone.js:261
webpackJsonp.679.Zone.runTask @ zone.js:151
drainMicroTaskQueue @ zone.js:405

您是否有机会使用:angular2-logger?我有完全相同的错误,并发现即使我实际上没有使用我必须提供的选项 – 很多工作.

例如:在您的AppModule中必须执行以下操作:

import {Logger,Options} from "angular2-logger/core";

然后在您的提供商列表中确保添加选项:

providers: [
  Logger,Options // <-- this is key
]

这使得确定的AOT包括“选项”.

现在,我是怎么发现的?该错误为您提供了无法找到“选项”的提示.所以我使用Developer Tools来查看使用sourceMaps生成的源代码(我查看了main.bundle.js).在那里我搜索了字符串“选项”,唯一的命中也给了我最后的提示

__WEBPACK_IMPORTED_MODULE_9_angular2_logger_core__["Options"])

现在,在查看了我必须提供选项的文档后,我才意识到这一点.

希望这可以帮助.

原文地址:https://www.jb51.cc/angularjs/140932.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐