2017-04-04 68 views
5

我有一个由ng cli生成的角度2应用程序。

- 当我运行ng build(或)ng build --prod --aot = false并提供页面时,事情就会正常工作。
- 但是当我尝试通过运行ng serve --aot = true启用aot并提供服务时,页面会出现多个DI错误,如下所示如何调试角度2 aot故障

很难调试。有关如何调试这些问题的任何想法?

例外:没有提供选项!
error_handler.js:59 ORIGINAL堆栈跟踪:
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 @ n g_zone.js:262
webpackJsonp.679.ZoneDelegate.invokeTask @ zone.js:261
webpackJsonp.679.Zone.runTask @ zone.js:151
drainMicroTaskQueue @ zone.js:405

回答

13

是你有机会使用:angular2-logger?我有完全相同的错误,并发现即使我没有实际使用我必须提供的选项 - 无法工作。

例如:在你的AppModule有以下导入:

import {Logger, Options} from "angular2-logger/core"; 
在您提供的列表

然后确保你补充选项:

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

也取得了一定AOT包括“选项”。

现在,我是怎么知道的?该错误给你提示它不能找到“选项”。所以我使用开发工具来查看使用sourceMaps生成的源代码(我查看了main.bundle.js)。在那里,我搜索的字符串“选项”,然后只命中给了我也是最后提示:

__WEBPACK_IMPORTED_MODULE_9_angular2_logger_core__["Options"]) 

现在thate让我在看文档,我不得不提供选项,以及之后实现。

希望这会有所帮助。 :)

+0

你救了我的命,兄弟。谢谢!!! – sivabudh

+0

也为我工作..同样的问题 – pankaj