2017-07-30 16 views
0

現在、JHipsterを見ています。JHipster環境設定

私が理解できなかったことは、JHipsterがdev、testing、productionなどの環境をどのように処理するかです。

これには含まれています:私は、角-CLIプロジェクトで

  • サーバー(DBや他のアプリの特定の構成のようなコンフィグ)
  • クライアント(Angular4、APIエンドポイントのようなコンフィグ)

をbuild(ng build --env prod)で定義できる環境設定ファイル(environment.dev.ts、environment.prod.ts)を環境設定するのに使用されますが、angular.cliはJHipster上で推奨される方法ではないようですこれに対する別の解決策になります。

だから私の質問は以下のとおりです。

  • 環境(サーバとクライアント)を設定する方法?
  • ビルド中に環境(サーバーとクライアント)を指定する方法は?

答えて

0

JHipsterは、サーバー内のクライアントを実行可能なjarとしてパッケージ化するため、/apiを使用している限り、クライアント側の異なる環境間で異なるAPIエンドポイントは必要ありません。

サーバー側では、JHipsterはSpring profilesを使用します。これは動的に設定でき、外部構成ファイル(application*.ymlファイル)を指します。 JHipster comes with 2 main profilesdevprodがありますが、devまたはprodと組み合わせることができるswaggerno-liquibaseのようなものもあります。独自のプロファイルも定義できます。

環境間で異なるいくつかの外部APIエンドポイント(たとえばGoogle)にアクセスする必要がある場合は、 - /api/profile-infoを使用してサーバーAPIからアクティブなプロファイルを取得し、次にエンドポイントを初期化します。クライアントコード。 - クライアントの設定を取得するためにサーバに新しいエンドポイントを作成します(/api/configuration

次に、maven/gradleプロファイルによってトリガされる2種類のビルドがあります:devとprod。

新人にとって、最も重要なことは、おそらくSpringプロファイルとアプリケーションプロパティを理解することです。これらはJHipsterに固有ではありません。

+0

ありがとう。それはサーバー構成のためのものです。しかし、クライアントはどうですか?たとえば、自分のJHipster APIよりも他のAPIを呼び出す必要があり、devとprodの異なるエンドポイントを設定する必要があるとします。それを行うベストプラクティスはありますか? – tschuege

+0

@tschuege他のエンドポイントを使うことを考えれば、JHipster API Gatewayはあなたに適切な答えを与えることができるプロジェクトだと思います。異なるJHipsterマイクロサービスエンドポイントを持つマイクロサービスアーキテクチャのゲートウェイとして使用されています。JHipsterは、マイクロサービスからの情報に基づいてゲートウェイ・クリートで使用できるクライアント・インフラストラクチャーを生成します。ここにJHipster API Gatewayのリンクがあります。https://jhipster.github.io/api-gateway/ – duderoot

+0

外部APIにアクセスし、ゲートウェイがリクエストのプロキシとしてのみ使用されるため、ゲートウェイはユースケースでは機能しませんJHipsterレジストリに登録するサービス私は私の答えを編集しました。 –

0

スタンドアロンアプリケーションを作成する場合、またはJHipsterゲートウェイバンドルアーキテクチャを使用する場合は、DefinePluginを使用してwebpackを通じてAngular 2アプリのパラメータを設定できます。私はここにこのプロセスのステップを詳述した:Environment-based properties for Angular 2 App Served by Webpack?