REST apiバックエンド(組み込みJava、Wildflyにデプロイ))を使用するAngularJsアプリケーションを作成しました。
パブリックIPアドレスを使用して(ポート転送を介して)インターネットからサーバーにアクセスできるようにしました。
私の質問は、パブリックIPを使用してインターネットからAngularアプリケーションにもアクセスできるようにする方法です。Wildflyにもデプロイできますか?どうすればよいですか?
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')
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>
ルートを設定するangular2アプリがあり、追加の構成が必要でした。これがプロセスです:
ルートモジュールで、ルートにハッシュを使用できるようにします。
RouterModule.forRoot(routes, { useHash: true })
アプリケーションをビルドします。簡単な方法はng build
その他のオプション angular-cli build
ビルドプロセスにより、angular appのルートの "dist"フォルダーにangular appが生成されます。distフォルダー内のすべてのファイルをWARファイルのルートにコピーします。
angular app in http:// SERVER_IP:PORT/WAR_PATH /#/ 。angular app start from #/。