2017-11-07 6 views
-1

React Webアプリケーションは私にとっては馴染みのないものです。しかし、私は構築してサーバーに展開する必要があります。反応アプリケーションを1つのファイルとして展開する方法は?

他の人によると、私はそう何かのような...

  1. 圧縮全体がサーバーにタール
  2. アップロードタールでプロジェクトを反応させるためにしている
  3. npm install - npm run compile(に記載されたいくつかのアクションをやってwebpack.config.js) - npm start

しかし、それは私には奇妙に見えます。私たちのJavaプロジェクトビルドの出力は60MBですが、フロントエンドのソースはほぼ700MBです。

Added some extra opinion. 
The size of the project is... 

- original node project 
- include webpack output directory 
- npm module directory and build directory 

Anyway, I can not get why do I still need the original source code? 
I already have build output file 

さらに、なぜターゲットサーバにnpm installが必要ですか? - これは、(タールを使った)これは、反応するWebアプリケーションを配備する良い方法ではないと思います。

私は展開するための適切な方法を知りたいと思います。 ありがとう!

答えて

0

私にとっては、create-react-appによって生成された足場のコードではうまくいきます。あなたはそれを使いたいかもしれません - https://github.com/facebookincubator/create-react-app

フロントエンドが "700" MBになる理由は私にも分かりません。開発マシン上

  1. 開発
    • ゲットノードインストール(最終的にインストールNPM) - あなたは、単一ページのアプリケーションまたは同様、開発と展開作業の流れはと似ていますを構築していると仮定。
    • npmを使用してcreate-react-appをインストールします。
    • 'create-react-app'コマンドラインを使って作成した反応アプリを入手してください。
    • アプリケーションディレクトリの内側から、アプリケーションを提供する開発サーバーを起動するためのコマンド 'npm start'を指定します。
    • アプリをビルドするためのソースコードを変更する。アプリケーションを配備する準備ができている
  2. 展開
    • 。 appディレクトリの中から、コマンド 'npm run build'を実行すると、設定可能なビルドディレクトリ(通常はビルド)にready-to-serveファイルが作成されます。
    • 展開するには、ディレクトリ自体を圧縮および/または配布します。ここで注目すべき

一つ明らかなことは、あなたが構築されたソースコードを実行するノードおよび/またはNPMを必要としないことです。アプリケーションを開発している間にそれらが必要です。理由は主に、ビルドプロセスが必要なすべてのJSとパッケージをアプリケーションと共にバンドルするためです。また、配備中にウェブパックなどのことについて心配する必要はありません。

いくつかの参照(提供:グーグル)右方向に指すように -

0

私はあなたの正確なセットアップを知っているが、ほとんどありません一般的な方法は、アプリケーションをローカルに構築し、コンパイルされたファイルをサーバーにプッシュすることです。 Webpackはすべてを単一のファイルでコンパイルし、アプリケーションとWebpackの設定に依存して、1つのJavaScriptファイルに保存します。

最終的には、静的ファイルを提供できるWebサーバーのみが必要です。したがって、開発サーバーのほとんどの時間であるnpm startを実行する必要はありません。

関連する問題