問題タブ [angular-compiler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2325 参照

angular - Angular AOT Compiler - TypeError: this.compiler.analyzeModulesAsync は関数ではありません

ここで事前(AOT)コンパイラの指示に従おうとしています:

https://angular.io/guide/aot-compiler

私が取り組んでいるプロジェクトは、ここで説明されているように、クイックスタート シードを使用して開発されました。

https://angular.io/guide/setup

プロジェクトはAOT コンパイラを使用せずに正常に動作していますが、指示に従って AOT コンパイラを動作させようとすると、次のエラーが発生します (これは Windows 8 の場合です)。

私の package.json ファイルは次のようになります。

インストールした @angular/compiler のバージョンを確認すると、最新バージョンのように見える 4.2.2 が表示されます。

Github でソースを表示すると、angular/packages/compiler/src/aot/compiler.ts にanalyzeModulesAsyncという関数があることがわかります。

https://github.com/angular/angular/blob/master/packages/compiler/src/aot/compiler.ts

しかし、analyzeModulesAsync の node_modules フォルダーで grep を実行する、その関数の呼び出ししか表示されません。定義がわかりません。実際、compiler.d.ts のクラス定義は、Github の compiler.ts ファイルとはいくつかの違いがあるようです。

node_modules フォルダー全体を削除し、npm install を再実行して「再インストール」を試みましたが、エラー メッセージは同じです。

私はここでやや似たような質問を見ます: Angular AOT failing at compilation (something with angular/compiler-cli) , しかし、何がうまくいかないのか、またはそれを修正する方法を知るためにnpmのバージョン管理について十分に知りません.

私がどこかでいくつかの指示に失​​敗したのか、それとももっと深い何かが働いているのかについてのアイデアはありますか?

解決

この問題は、package.json 内の @angular/compiler-cli と @angular/platform-server のバージョンが一致していないことにありました。それらを「〜4.0.0」に変更して残りの角度モジュールに一致させ、node_modulesフォルダーを削除して再実行npm installすると、コンパイラーが機能しました。

私の作業理論は、2週間前にクイックスタートを複製し、次のコマンドを実行したためnpm install @angular/compiler-cli @angular/platform-server --saveです。昨日のチュートリアルから、それがバージョンの不一致につながる.

0 投票する
1 に答える
1982 参照

angular - *.ngsummary.json の目的は何ですか

などについて学習したばかりですAOT。実行した後、 (フォルダー内、ファイルの横に)たくさん表示されます。ngcngc*.ngsummary.jsonsrc*.ts

それらは何のため?

0 投票する
0 に答える
53 参照

angular - Angular2 コンパイラはモジュール 'x' を 'x/index' に変換します

@angularコンパイラがモジュール名を変更する理由を理解するのに苦労しています:

ディレクティブ.ts

tsconfig.aot.json

次に、 as@angular/compilerを使用して実行します。私はこれを結果として得ますが、意味がありません。clingc -p tsconfig.aot.json

ディレクティブ.js

なぜこれが起こるのか、またはこれを修正する方法を知っている人はいますか。これにより、Rollupこれらのモジュールを解決できなくなります。

Angular コンパイラ: v4.2.4

Angular コンパイラ cli: v4.1.3