問題タブ [angular-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.

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

angular - forRoot() を使用して環境変数をカスタム ライブラリに渡す

環境固有の変数を自分のライブラリに渡そうとしています。そして、それを forRoot() に渡します。ハードコードされた値の場合は渡すことができますが、ライブラリに渡すと環境値の場合は未定義として表示されます。

@NgModule にブレークポイントを設定すると rootUrl が定義されますが、ライブラリにブレークポイントを設定すると rootURL は定義されません。

私はAngular 5を使用しています。問題をグーグルで調べてみましたが、解決策が見つかりませんでした。

これは一般的な問題ですか?この環境変数を渡す別の方法は何ですか? どんな助けでも感謝します:)

更新:正しく機能していない理由がわかりました。--aot でビルドしていたので、デバッグ時に rootUrl の値を確認できました。これは、ランタイムでチェックしていたのですが、コンパイル時にライブラリに渡していたためです (未定義の値で)。

私は今、この可能な解決策を試しています。誰かが他の潜在的な解決策を持っているなら、私は感謝します

解決策:私の解決策は、環境変数が aot でコンパイルされたので、変数を関数として渡すことでした。これは、ランタイムでそれらを実行する必要がありました。

次のような関数を作成し、参照をライブラリに渡しました