問題タブ [angular-compiler-cli]
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.
angular - Angular4 ライブラリで ngc を実行すると、TsickleCompilerHost でエラーが発生する
現在、 Angular Package Formatで説明されている形式で Angular 4 コンポーネント ライブラリをエクスポートする作業を行っています。これを簡単にするために、この Yeoman generatorを使用してデフォルトのセットアップを生成しました。最初はすべてが完全に機能し、別の Angular アプリケーションにインポートできる作業ライブラリを生成できました。次に、最新の変更をすべて取得した後、ライブラリ ファイルを更新し、新しいパッケージを生成しようとしました。今回は、取得した変更の 1 つにリンクできなかったというエラーが発生して、ビルドに失敗しました。
メッセージ:
誰かがこのエラーの原因を指摘して、何を探すべきかを知ることができますか?
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
です。昨日のチュートリアルから、それがバージョンの不一致につながる.
angular - *.ngsummary.json の目的は何ですか
などについて学習したばかりですAOT
。実行した後、 (フォルダー内、ファイルの横に)たくさん表示されます。ngc
ngc
*.ngsummary.json
src
*.ts
それらは何のため?
angular - Angular2 コンパイラはモジュール 'x' を 'x/index' に変換します
@angular
コンパイラがモジュール名を変更する理由を理解するのに苦労しています:
ディレクティブ.ts
tsconfig.aot.json
次に、 as@angular/compiler
を使用して実行します。私はこれを結果として得ますが、意味がありません。cli
ngc -p tsconfig.aot.json
ディレクティブ.js
なぜこれが起こるのか、またはこれを修正する方法を知っている人はいますか。これにより、Rollup
これらのモジュールを解決できなくなります。
Angular コンパイラ: v4.2.4
Angular コンパイラ cli: v4.1.3