2016-11-02 6 views
2

私はAOTコンパイラを初めて使いました。AOTコンパイラはngfactoryファイルをコンパイルします

私は、このオプションを使用して「コンパイル」ディレクトリにすべてのファイルをコンパイルします。

"angularCompilerOptions": { 
    "genDir": "compiled", 
    "skipMetadataEmit" : true 
} 

しかし、私は「NGC」を実行すると、それはまた、新たに作成された.ngfactoryファイルをコンパイルしようとすると、上のエラーを入力して投げますそれら。

「コンパイル済み」ディレクトリを削除してコードを再コンパイルしようとしましたが、もう一度実行されました。

私はtypescriptコンパイラにあるようにtsconfig-aot.jsonファイルに "exclude"キーを追加し、 'コンパイル済み'ディレクトリを追加しようとしましたが、それは助けになりませんでした。

アイデア?

====編集====

役立つかもしれないいくつかの詳細は、私がアプリケーションディレクトリ以外のディレクトリに「genDir」を設定しようとしましたし、私はというエラーを得ましたコンパイラは 'app.module.ngfactory'モジュールを見つけることができません。

私の理解から、これは私がからmain.tsを変更したため、それが「.ngfactory」ファイルをコンパイルしようとしていることを意味しますに

import { AppModule } from "./components/app.module"; 

platformBrowserDynamic().bootstrapModule(AppModule); 

import { AppModuleNgFactory } from "../compiled/client/components/app.module.ngfactory"; 

platformBrowser().bootstrapModuleFactory(AppModuleNgFactory); 

とそれが引き起こす可能性がありますコンパイラはapp.module.ngfactoryをコンパイルし、そこから 'app.module.ngfactory'の他のインポートに移動し、すべての '.ngfactory'ファイルをコンパイルしようとします。

意味がありますか?私は 'main.ts'ファイルを正確にgoogleが表示されるように変更しました:https://angular.io/docs/ts/latest/cookbook/aot-compiler.html

答えて

1

これは私の悪かったです。

コンパイラはngfactoryファイルにエラーを表示しますが、コンパイルされているとは限りません。

エラーは、元のコンポーネントのtsファイルに関連しています。

私はtsファイルのエラーを修正する必要があり、問題を解決しました。

アプリケーションがJITで動作していても、AOTはさまざまなことをコンパイルし、より厳密であり、処理する必要のあるエラーやJITで問題にならないエラーが表示されることがあります。

関連する問題