問題タブ [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 - AOT コンパイル - forRoot およびその他の func 呼び出しの問題
"Error encountered resolving symbol values statically. Function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol DeclarantModule"
アプリをコンパイルしようとするとエラーが発生します。これは、モジュールにforRoot
またはStoreModule.provideStore(rootReducer)
関数呼び出しがある場合に発生します。
修正方法は?なぜこれが起こるのですか?私はそれを理解していません。configs を使用してモジュールをインポートするのは、ネイティブの angular 2 関数だと思いました。
angular - ソースマップをインラインおよびファイルで生成するAngular 2 AOTビルド
私は Angular 2 アプリケーションのプロダクション ビルドに取り組んでおり、パッケージ サイズを縮小するために Angular 2 AoT ビルド プロセスを使用しようとしています (ドキュメントはこちら) 。
aot コンパイラ CLI とロールアップ CLI を介してビルドが機能し、期待どおりの出力が得られました。私のbundle.jsファイルは〜2kです。付随するソース マップ ファイルがあります。わーい!
次に、ロールアップを既存の gulp ビルドに組み込んでみました。ソース マップがバンドル内でインライン化されて 2MB を超えることを除いて、すべてが機能します。さらに、ソース マップ ファイルも生成されます。インライン ソース マップを手動で削除すると、バンドルのサイズが 2k まで減少します。
私の質問は、インライン ソース マップなしで bundle.js を生成するにはどうすればよいですか?
私が試したこと: SO の検索、Angular2 docs、 rollup -stream docs、およびgulp-sourcemap docs の精査。この問題に具体的に対処するものは見つかりませんでした。
以下は、関連する構成ファイルです
AoT 固有の tsconfig ファイル(tsconfig-aot.json):
ロールアップ構成(destおよびsourceMapFileファイルパスをコメントアウトして、それがgulpをオフにしているかどうかを確認しようとしましたが、効果はありませんでした):
そしてgulpファイル:
編集: CLIでgulp実行ロールアップを行うことで回避策を見つけました。ただし、gulpまたはrollup構成で何が間違っているのかを知りたいです。
javascript - エラー 1068: タイプ angular 2 (AOT) にプロパティが存在しません
私はangular 2で初めてです。「ユーザー登録」フォームを作成していますが、電話番号の検証で「タイプにプロパティが存在しません」というエラーが表示されます。
私はJITとAOTでコンパイルしています。
JIT コンパイラでエラー メッセージが表示され、ユーザー登録フォームを実行すると正常に動作しています。しかし、AOT でコンパイルすると、コンパイル エラーが表示されます。
angular 2フォーム検証の公式ドキュメントを読んでいます。リンクはAngular 2フォーム検証です
以下は私のHtmlフォームとコンパイラ出力です
HTML フォーム
AOT 出力
前もって感謝します
ヴィクラム
telerik - Telerik Angular2 ロールアップの問題
StackOverflow の質問Grid モジュールで指定された Telerik Grid モジュールとロールアップ設定を使用すると、「orderBy」を取得できません。GridModule、SharedModule、IntlService などの他のモジュールは解決されています。
ここに私の名前付きエクスポートがあります:
angular - バレルを使用した aot コンパイル + ロールアップ後に Angular 2 サービスが見つからない
私は大きな angular2 アプリケーションを持っています - JIT モードで完璧に動作します。ただし、AOT のコンパイルとロールアップを実行すると、アプリケーションは機能しなくなります。
私が受け取っているエラーは
調査した結果、バレル ファイルがこの問題の原因であることがわかりました。次のようにサービスをインポートすると:
エラーが発生します。しかし、インポートステートメントを次のように変更すると:
すべてが機能します...
誰でもこれを修正する方法を知っていますか? バレルファイルの使用をやめたくない...
angular - AoT angular2 アプリで使用するパッケージを公開する方法
angular2 typescript で記述されたコードがあります。これは、サービスとコンポーネントとともにエクスポートされたモジュールです
この MyModule をさまざまな angular2 アプリケーションで使用したいので、この tsconfig とスクリプトで公開しました
パッケージ.json
angular2シードのシードを使用して作成された他のangular2アプリでパッケージをインストールしましたが、AOTではなくAoTでアプリを実行すると、すべて機能しますが、エラーがあります
エラー: 予期しない値 'MyModule' がモジュール 'AboutModule' によってインポートされました
いくつか質問があります:
- パッケージを公開するにはどうすればよいですか / tsconfig "module" = es2015 / systemjs / commonjs 内の相違点は何ですか
- モジュール公開タイプは、angular2 内でパッケージを使用する方法と関係がありますか?
- angular2共有モジュールを公開して差分アプリで使用する方法のベストプラクティスはありますか?
angular - Angular 2アプリがAoTを使用して開始する前にデータベースから構成をロードする
angular 2 アプリをロードする前に、データベースからいくつかの構成オプションを取得しようとしています。これらの構成オプションに基づいて特定のコンポーネントへのアクセスを制限する必要があるため、Angular アプリは開始する前にデータが読み込まれるのを待つ必要があります。
したがって、バックエンドからデータを取得するための ConfigurationService を作成しました。ルート モジュールで app_initializer を使用して、アプリを起動する前に構成サービスを呼び出そうとしています。数か月前に作成したAngularアプリ(Angular RC4)でこれを行うことができ、今回も最初は同じようにしようとしました。
app.module.ts - 最初の試行
これにより、次のエラーが発生しました。
これは、私が使用している AoT コンパイラと関係があると思います。ラムダ式をファクトリに置き換えました。
app.module.ts - 2 回目の試行
configuration.service.factory.ts
これは実際には構成サービスを使用してバックエンドからデータを取得しますが、アプリを開始する前に promise が解決されるのを待ちません。これは、ユーザーがホームページ (誰でもアクセスできる) から開始してから、管理者以外のユーザーに制限されているコンポーネントに移動するときに機能します。しかし、ユーザーが制限されているページを更新すると、構成が読み込まれる前に OnInit (ユーザーがアクセスできるかどうかを判断する場所) が起動します。私の場合、これにより、ユーザーはアクセスできるはずのページへのアクセスが拒否されます。
configuration.service.ts
コンポーネントの実装
現時点ではアイデアがありません。解決策を探しましたが、ラムダオプションを推奨している人々を見つけることができましたが、これは私にとってはうまくいきません。