web-dev-qa-db-ja.com

Angular 2アプリケーションをTomcatサーバーにデプロイするにはどうすればよいですか(Windows Server 2012)

私はAngularJS 2フレームワークの初心者であり、立ち往生しています!

Windows Server 2012にアプリケーション(クイックスタートなど)を展開します。既にApache Tomcatをインストールしています。私がしたこと:distフォルダー(出力:index.htmlとバンドルファイル)を生成するためにコマンドnpm build(「-prod」の有無にかかわらず)を使用し、Tomcatの「webapps」フォルダーに入れてから、ブラウザを使用してページにアクセスしようとすると、インデックスページに「読み込み中...」と表示されます。 angularは機能していないと思います...

NodeJsをサーバーにインストールしてから、単純なプロジェクトを生成して(npm install -g angular-cli)、サーバーで実行しようとしました。それはlocalhost(サーバー)で動作しますが、「IP_of_sv:Port」Chromeでエラー「ERR_CONNECTION_REFUSED」が表示されます。

簡単な説明をお願いします。

前もって感謝します!

11
altd

私は解決策を見つけました:

バンドルファイルへの正しいパスを挿入する必要がありました。

たとえば、インデックスファイルのsrc属性を次から変更しました:src = "inline.bundle.js"

to:src = "dist/inline.bundle.js"

DIST FOLDEEEEEERを追加しました!ハハヤードを運営してくれてありがとう!

3
altd

Angle-cliコマンドを使用してangular 2プロジェクトを作成する場合。cliは、アプリケーションを実稼働環境にデプロイするためのコマンドを提供しています。ng buildのようなコマンドを使用します--prodプロジェクトディレクトリで、ディレクトリ内にdistフォルダが生成されます。 enter image description here

Distフォルダー内に移動し、index.htmlのhref = "。"のようなベースhrefを変更します。その後、Tomcatルートディレクトリのdistフォルダーをコピーして、サーバーを実行します。 enter image description here 。以下のスクリーンショットは、Tomcatサーバーで実行中のアプリケーションを示しています。 enter image description here

22
Balaji B

の1つの場所を変更できます index.html: <base href = "/">
ベースhrefを、Tomcatのwebappsフォルダーから、angular app。

あなたの場合、次のように変更します: <base href = "./ dist">
他の変更は必要ありません。

6
Ahmad Agbaryah

ビルドタスクのいずれかを使用してビルドします(devにはソースマップが含まれます。ノードは開発ツールにのみ必要なので、サーバー上にノードがあることを心配しません。その後、distフォルダー内のすべてのファイルをコピーします。 index.htmlを見て、さまざまなスクリプトへの参照が正しいことを確認しますアプリを実行するために必要なのは、インデックス内のスクリプトだけです。ノードは不要です。

2
rtn

そのためのソリューションを投稿したリンクを使用してください。他の問題があるかどうかを確認してお知らせください。 Deploy Angular 2 TomcatとWebpackを使用するアプリ-404エラー

1
Amit khandelwal
  1. このコマンドを実行ng build --prod端末で
  2. Src distと並行して1つのフォルダーが作成されていることを確認してから、distフォルダーに移動してプロジェクトフォルダー内に移動し、すべてのファイルを選択してWebContant内に貼り付け、web-INFに並行してindex.htmlページ内に移動し、置換/ from .のようにhref="."そしてurlの例に進みます: http:// localhost:8080/ProjectName /#/ URL そしてそれを確認します。
1
Bheem Singh