問題タブ [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 - Angular AOT のコンパイルに失敗しました
私はすぐにウェブサイトを本番環境に置く必要があり、パフォーマンスを改善するために AOT を検討しています (私のアプリは、Chrome でロードするのに約 3 ~ 4 秒、Firefox では 8 ~ 10 秒かかりますが、これは本番環境では不可能です)。
https://angular.io/docs/ts/latest/cookbook/aot-compiler.htmlのガイドに従いましたが、コンパイル部分で立ち往生しています...
次のように入力すると、 node_modules/.bin/ngc -p tsconfig-aot.json と入力すると、次のような約 100 百のエラーのリストを含む「コンパイルに失敗しました」という素敵なメッセージが表示されます。
一部はAngularから直接来ているため(推測)、たとえば次のように、すべてを解決することはできません。
これらすべてのエラーに関連してコンパイルが失敗しましたか?それらを解決すればコンパイルは成功しますか? はいの場合、Angular でも私が提供したようなエラーが発生するのは正常ですか?
ありがとう !
注:Angular 2.1.1を使用しています。
javascript - クラスは外部モジュールからの名前 'SafeUrl' を持っているか、使用していますが、名前を付けることができません
sanitizer.bypassSecurityTrustUrl
ページに blobURL へのリンクを配置するために使用しています。プロジェクトを AoT コンパイルしない限り、これは問題なく機能します。
サニタイズ関数は、次のような URL を取ります。
AoT コンパイルを使用すると、次のエラー メッセージが表示されます。
モジュールのビルドに失敗しました: エラー: /.../src/app/app.component.ts (18,3): エクスポートされたクラスからのパブリック メソッドの戻り型は、外部モジュール "/... /node_modules/@angular/platform-browser/src/security/dom_sanitization_service" ですが、名前を付けることはできません)。
Angular 2.1.0 で CLI を使用しています
この問題を回避する方法を知っている人はいますか? それともバグとして報告する必要がありますか?
angular - LocationStrategy クラスを動的に設定する方法
前もってコンパイラでコンパイルされたAngular 2アプリケーションでAppModuleNgFactoryを動的に構成する方法は?
LocationStrategy
window.isCordova
環境変数に応じてプロバイダークラスを設定する必要があります
アプリケーションが AOT でコンパイルされていない場合、問題なく動作します。ただし、AOT でコンパイルすると、LocationStrategy
プロバイダは常に に設定されHashLocationStrategy
ます。
これを達成する方法はありますか?
angular - AOT コンパイラは ngfactory ファイルをコンパイルします
私はAOTコンパイラが初めてです。
このオプションを使用して、すべてのファイルを「コンパイル済み」ディレクトリにコンパイルします。
しかし、「ngc」を実行すると、新しく作成された .ngfactory ファイルもコンパイルしようとし、入力エラーがスローされます。
「コンパイル済み」ディレクトリを削除してコードを再コンパイルしようとしましたが、再び起こりました。
また、tsconfig-aot.json ファイルに「exclude」キーを追加して (typescript コンパイラにあるように)、「コンパイル済み」ディレクトリを追加しようとしましたが、役に立ちませんでした。
何か案は?
==== 編集 ====
役立つ情報がいくつかあります。「genDir」をアプリケーション ディレクトリ以外のディレクトリに設定しようとしたところ、コンパイラがモジュール「app.module.ngfactory」を見つけられないというエラーが表示されました。
私の理解では、これは main.ts を次から変更したため、「.ngfactory」ファイルをコンパイルしようとすることを意味します。
に:
これにより、コンパイラが app.module.ngfactory をコンパイルし、そこから「app.module.ngfactory」の他のインポートに移動して、すべての「.ngfactory」ファイルをコンパイルしようとします。
それは理にかなっていますか?「main.ts」ファイルを、Google が示すとおりに変更しました: https://angular.io/docs/ts/latest/cookbook/aot-compiler.html
angular - 遅延読み込みを使用した Angular2 AOT を解決できません [遅延モジュールへのパス].ngfactory.ts
Lazy ロード モジュールで既に動作していたアプリを AOT に変換しようとしています。@ngtools/webpack ツールキットを使用して AOT コードをコンパイルしていますが、Angular が Lazy ロードされたモジュールのコードを見つけられないというエラーが発生しています。
私のアプリのルート定義で言及する価値があるこのプロジェクトのモジュールは遅延ロードされます:
これは私のセットアップがどのように見えるかです:
tsconfig :
ウェブパック:
Main.aot.ts
webpack では、次のようにして @ngtools/Webpack で ts ファイルをコンパイルしています。
ご協力ありがとうございました!
angularjs - Angular2 AOT テスト
私は現在、NGC を使用してライブラリを AOT 対応にするために使い始めましたが、NGC 中のコンパイル レベルではなく、ライブラリを使用したときにのみエラーが表示される場合があることに気付きました。(これらのエラーは単体テストで解決できない ngc エラーではありません)
したがって、ライブラリを使用するときに問題のあるライブラリを出荷しないように、何らかの方法でテストしたいと思います。
あなたたちは何を提案しますか?
kendo-ui-angular2 - ロールアップと外部依存関係を使用して angular 2 アプリ Aot をデプロイする
Kendo UI Gridを利用する angular 2 アプリを実装しました:
AoT + Rollup を使用してアプリをデプロイするときにスタックします:
エラー: 'GridModule' は node_modules\@progress\kendo-angular-grid\dist\npm\js\main.js によってエクスポートされません (app\app.module.js によってインポートされます)。
ロールアップのドキュメントからこれを試しましたが、構成方法がわかりませんnamedExports
:
上記の構成を使用しても問題は解決しません。
編集: 最後に、グリッドの作業構成は次のとおりです。
「include」セクションが有効になっていると機能しません