問題タブ [angular2-aot]
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 - @input の Angular2 インターフェイスが AoT で機能しない
私はインターフェースを持っています:
クラスで使用するもの:
AoT でコンパイルすると、次のエラーが発生します。
Module src/interfaces/IEvent.ts does not export IEvent (imported by src/components/Event/Event.ts)
に変更する@Input
と@Input() data;
問題ありません。
@Input
AoT を使用するときに型を定義する方法を知っている人はいますか?
https://forum.ionicframework.com/t/interface-does-not-export-bundle-dev-failed/66225も参照してください
angularjs - Webpack + Angular2 AOT: キャッチされない SyntaxError: 予期しないトークンのインポート
このセットアップでは、生成された ngfactory ファイルからインポートされる angular2 ライブラリをどのようにトランスパイルしますか?
現在のアプリは、angular docs に基づく webpack + aot cookbook の組み合わせです
angular.io/docs/ts/latest/cookbook/aot-compiler.html
angular.io/docs/ts/latest/guide/webpack.html
このレポから問題を再現できる作業中の POC があります。
https://github.com/jetlogs/Angular2-AOT-Localization
コンパイル/バンドルが完了したら、次の 2 つのファイルを開くことができます。
non-aot.html - これは同じアプリの非 aot バージョンであり、適切な
aot.html をロードします - このファイルは次のエラーで失敗します:
ng_module_factory.js?95b1:13 Uncaught SyntaxError: 予期しないトークンのインポート
予想される動作
予想される動作は、aot.html と非 aot.html が同じ動作をすることです。
指示による問題の最小限の再現
リポジトリのクローンを作成し、作業ディレクトリで次のコマンドを実行します。
次に aot.html を開いて問題を再現します
インポートされた angular2 ライブラリからインポート ステートメントを修正する方法はありますか? ありがとう
アップデート:
babel-loader を使用して、ES2015 にある angular2 ソース ファイルをトランスパイルしようとしました。
ES6 の非互換性の問題なくコンパイルできるようになりましたが、次の場合にのみ新しいエラーが発生しますaot.html
。
core.umd.js?e2a5:3272Uncaught エラー: NgZone のプロバイダーがありません!
AOTコンパイラによって参照されているトランスパイルされたangular2ソースコードがNgZoneの問題をcdausingしている理由は何ですか?
上記のレポを更新して、最新の変更を反映させました
更新 2: 10/13/16
Angular 2.1 に更新して
も同じ問題
angular - Ionic2 RC0 が外部モジュールをロードする際のエラー
Ionic 2 RC0 では、angular2-text-mask "1.0.1" に問題がありますが、これは AoT とほとんどの外部モジュールの問題だと思います。
開発モードでは、次のエラーが発生しました。
bundle dev failed: Module /root/path/node_modules/angular2-text-mask/dist/angular2TextMask.js does not export TextMaskModule (imported by /root/path/src/app/app.module.ts)
だから私はこのオーバーライドを修正しましたrollup.config.js
しかし、それを構築しようとすると問題が発生します。したがって、prod モードでは次のようになります。
ngc: Error: Unexpected value 'TextMaskModule' imported by the module 'AppModule'
私のapp.module
コード
どんな助けでも大歓迎です。
angular - Angular 2 AOT は機能しません。「platformBrowser().bootstrapModuleFactory」が追加のプレフィックス「/src/linker/ng_module_factory」を含むリンクをプルするのはなぜですか?
JIT を使用して Angular 2 アプリを実行すると、すべて正常に動作します。しかし、AOT に切り替えた後、アプリは追加のプレフィックス ("/src/linker/ng_module_factory") を使用してリンクをプルし始めます。次に例を示します。
JITプル:http://localhost:8080/node_modules/@angular/core/bundles/core.umd.js
AOT プル: http://localhost:8080/node_modules/@angular/core/bundles/core.umd.js/src/linker/ng_module_factory
postfix はどこ/src/linker/ng_module_factory
から来たのですか?
アプリについて。Java 8 + Spring 4.3.2.RELEASE + Angular 2 + Tomcat 9.0.0.M6 を使用しています。
パッケージ.json
index.html
systemjs.config.js
tsconfig.json
型付け.json
app.component.ts
app.module.ts
JIT 構成 main.ts
次のステップは、 command を使用したコンパイルtsc
、war のビルド、および deploy です。
AOT 構成 main.ts
次のステップは、コンパイラーをインストールnpm install @angular/compiler-cli
し、コマンド「./node_modules/.bin/ngc」を使用してコンパイルし、war をビルドしてデプロイします。コマンドの後ngc
、ファイル *.ngfactory.ts、*.ngfactory.js、*.metadata.json、*.shim.ts、*.shim.js を取得します
angular - angular2-jwt と事前コンパイル
JiT コンパイルではすべて正常に動作しますが、AoT でコンパイルしようとすると、次のコンパイル エラーが発生します。誰が何が起こっているのか説明できますか?
auth0-lock v.10.4.0 と angular2-jwt v.0.1.24 を使用しています
エラー:
私は遅延読み込みを使用しているので、次のように AuthService と AUTH_PROVIDER の共有モジュールがあります。
angular - Angular2 CLI:「--prod」のバンドルサイズが「--prod --aot」よりも小さいのはなぜですか?
プロジェクトに最新の angular-cli (beta-18) を使用しています。cli がまだ非常に初期段階にあることは知っていますが、AoTを使用しないと、最終的なバンドル サイズが実際に小さくなる理由について困惑しています。
を実行するng build --prod
と、1.08 mb になります。
実行するng build --prod --aot
と、1.26 mb です。
tsconfig の場合は次のようになります。