2017-04-04 6 views
5

ng cliによって生成された角度2のアプリがあります。

- ng build(または)ng build --prod --aot = falseを実行してページを提供すると、うまく動作します。
- ng serve --aot = trueを実行して有効にしようとすると、以下のような複数のDIエラーでページが壊れます。角2の失敗をデバッグする方法

デバッグが非常に難しいです。どのようにこれらの問題をデバッグするかについての任意のアイデア?

例外:オプションのプロバイダはありません!
error_handler.js:59 ORIGINAL STACKTRACE:error_handler.js @
ErrorHandler.handleError:272
webpackJsonp.679.ZoneDelegate.invoke @ zone.js:229
onInvoke 59
(匿名)application_ref.js @ 509
webpackJsonp:@ ng_zone.js:271
webpackJsonp.679.ZoneDelegate.invoke @ zone.js:228
webpackJsonp.679.Zone.run @ zone.js:zone.js @ 113
(匿名) .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:zone.js @ 151
drainMicroTaskQueue:405

答えて

13

があります万が一あなたが使用して:angular2-logger?私はまったく同じエラーを抱えていて、実際に私がそれらを提供しなければならなかったオプションを実際には使用していないのに、見つけました。

例:あなたのAppModuleでは輸入以下にあります。

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

AOTは、「オプション」を含むことを確認しました:プロバイダーのあなたのリストに続いて

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

をあなたはオプションを追加してください。

今、私はどのようにして見つけましたか?このエラーは、「オプション」が見つからないというヒントを示します。だから私は、開発ツールを使って、ソースマップを使って生成されたソースを見ました(私はmain.bundle.jsを見ました)。そこで私は、「オプション」の文字列を検索し、唯一のヒットは、最終的なヒントをくれた:

__WEBPACK_IMPORTED_MODULE_9_angular2_logger_core__["Options"]) 

今thateは、私は同様のオプションを提供しなければならなかったのドキュメントを見て後に実感しました。

これが役に立ちます。 :)

+0

あなたは私の人生を救った。ありがとうございました!!! – sivabudh

+0

私のためのWorkd ..同じ問題 – pankaj

関連する問題