2017-04-04 65 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