web-dev-qa-db-ja.com

WildflyにAngularアプリをデプロイする

REST apiバックエンド(組み込みJava、Wildflyにデプロイ))を使用するAngularJsアプリケーションを作成しました。

パブリックIPアドレスを使用して(ポート転送を介して)インターネットからサーバーにアクセスできるようにしました。

私の質問は、パブリックIPを使用してインターネットからAngularアプリケーションにもアクセスできるようにする方法です。Wildflyにもデプロイできますか?どうすればよいですか?

8
Mark Deno

angularアプリケーションをRESTバックエンドAPIと同じアプリケーションにパッケージ化できます。

たとえば、REST apiを.warパッケージ内にパッケージ化する場合、anglarアプリケーションファイル(htmlページ、jsスクリプトなど)をWARパッケージルートに配置できます。 REST JARファイルとしてパッケージ化されたWEB-INF/libディレクトリ内のリソース。

WARパッケージの詳細を参照してください ここ

次に、REST apiをクエリするには、ベースURL(webappコンテキストを含む)ではなく、リソースURIを指定する必要があります。angular appはREST apiも公開するwebapp。

たとえば、リソースの1つを取得したい場合は、angular:(with your REST API using'rs 'path using a application config and using $ http angularサービス)

$http.get('rs/icecreams?flavoor=strawberry')
5
Rémi Bantos

WAR/EARをデプロイしたくない場合は、standalone.xml構成ファイルでハンドラーを定義してみてください。

<server name="default-server">
    <http-listener name="default" socket-binding="http"/>
    <Host name="default-Host" alias="localhost">
        <location name="/" handler="welcome-content"/>
        <location name="/yourapp" handler="static"/>
    </Host>
</server>
<handlers>
    <file name="welcome-content" path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
    <file name="static" path="/var/yourapp" directory-listing="true"/>
</handlers>
6
Emilio Garcia

ルートを設定するangular2アプリがあり、追加の構成が必要でした。これがプロセスです:

  1. ルートモジュールで、ルートにハッシュを使用できるようにします。

    RouterModule.forRoot(routes, { useHash: true })
    
  2. アプリケーションをビルドします。簡単な方法はng buildその他のオプション angular-cli build

  3. ビルドプロセスにより、angular appのルートの "dist"フォルダーにangular appが生成されます。distフォルダー内のすべてのファイルをWARファイルのルートにコピーします。

  4. angular app in http:// SERVER_IP:PORT/WAR_PATH /#/ 。angular app start from #/。

2
Gaalvarez