2016-06-20 10 views
0

ReactAppはNodejsサーバでのみ実行できますが、Tomcatサーバでは実行できません。Apache TomcatでReactAppを実行するにはどうすればいいですか?

いくつかのQsを:

  1. が反応は純粋にクライアント側レンダリングライブラリであり、そしてなぜそれが(サーバーベースです)Nodejsが必要ですか?なぜReact official TutはNodejsをお勧めしますか?

  2. 純粋なJavaアプリケーションを実行するためのTomcatと、純粋なJavaScriptアプリケーションのためのNodejは本当ですか?


私はReactjsインクルードファイルを含めることによって、Apache Tomcatの中にいくつかのコンテナでサンプルReactApplicationを実行しようとしました。しかし、私は空白の画面が表示されます。 Inspect要素はレンダリングされていないJSソースを示します。

アップデート1:

はいQ1のために、そしてHere's単純な(すべての依存関係が含まれて)準備ができたアプリケーションに反応した場合NPMを使用してNodejsで実行するのは簡単です。 Tomcatで同じアプリを実行するにはどうすればいいですか?これを使ってWeb ARchiveを作成できますか?

+0

こんにちは、私も同じ答えを探しています。どのようにtomcatの反応アプリを実行する/どのように反応アプリのwarファイルを作成するには? – user3868051

答えて

4

1.Reactは純粋にクライアント側レンダリングライブラリであり、そしてなぜそれが(サーバーベースです)Nodejsが必要ですか?なぜReact official TutはNodejsをお勧めしますか?

反応は、クライアント側のライブラリですが、それは以下の理由でNodeJsが必要です。
- リアクトブラウザが理解していないJSX構文を使用していますので、それはブラウザが理解できるjavascriptのコードに変換する必要があり、バベルが行いますそれ。バベルはNodeJsを必要とした構成で、あなたはJSX、ブラウザが理解できるES 5にES6コードを変換することができ
- あなたは、サーバー側と反応を使用している場合にも、ノードjsのサーバーを必要とするかもしれないが、これは

サンプルオプションですBabelを使用するWeb-Packを使用してES 5コードに変換する必要があることを示しています。 WebPackとBabelはどちらもノードjを必要とします。したがって、NodeJが必要です。

+0

あなたの答えをありがとう、これはそれをクリアしました。 –

2

ReactAppの下に隠すものはわかりません。

  1. しかし、クライアント側でリアクションを使用する場合は、Nodejsサーバーを実行する必要はありません。 Nodejsで構築することができます。作業を簡略化するツールがあります。したがって、あなたのReactAppは、いくつかのjs依存関係を持つHTMLページだけになります。 ApacheやTomcatはそれを提供することができますが、Tomcatの場合はWARと同じようにバンドルする必要があります。 しかし、あなたはいくつかのことをするために休憩のエンドポイントが必要です、そして、あなたはjavaとtomcatを含む多くの技術でそれを行うことができます。

  2. YES

+0

私はjavaを使ってアプリケーションを行い、Google App Engineのhttps://onlinetallycounter.capverszero.fr/で反応します(無料アカウントなので、ほとんどの時間は休止状態になるため、インスタンスは非常に遅いです)。 –

+0

あなたの答えをありがとう。 [こちらは](https://github.com/gaearon/react-hot-boilerplate)NPMを使ってNodejsで簡単に実行できる簡単なReact対応アプリケーション(すべての依存関係を含む)です。 Tomcatで同じアプリを実行するにはどうすればいいですか?これを使ってWeb ARchiveを作成できますか? –

+0

私はそのプロジェクトは分かりませんが、最後の変更を行うためにbundle.jsを生成するように開発しています。プロダクションモードでは、bundle.jsを取得してhtmlページにリンクすることができると思います。 –

関連する問題