2017-04-05 8 views
1

私は最新のプロジェクトでcreate-react-appを使用しています。今私は適切に解決する方法がわからないという1つの問題に直面しています。サーバ上のCreate-react-appレンダーコンポーネント

私の状態管理のためにreduxを使用してアプリケーションを作成しましたが、すべてうまくいきます。

私はReactのサーバー側のレンダリングに関する十分な経験はありませんが、私の次の機能では、既存の/反応している反応コンポーネント(reduxストアに接続されている)の1つを取り出し、 create-react-appに付属のサーバー。私がこれをしたい理由は、pdfジェネレータやsimillarのようなライブラリを使って、それらのいくつかを印刷することができるようにすることです(それ以外のものも基本です)。

最初のこと私はサーバー上ですべてのものをレンダリングしたくないので、webpack-devサーバーとそのすべてのタスクを実行するノードサーバーを実行するための最適な方法(開発用)は何ですか? 8000と言って、それを手動で動かすためにそれをデフォルトのポートに変更するのではなく、並列で上記のように述べていますか?

私はReactDOMServer.renderToStringをサーバー上の既存のコンポーネントに使用することができますか、それとも、複雑なものがありますか(私はサーバーの定義にバベルを追加する必要があると思います)。

+3

create-react-appはまだサーバー側のレンダリングをサポートしていません! –

答えて

1

Create React Appはサーバーレンダリングをサポートしていません。あなたはNext.jsに移行したいかもしれません。

+0

ねえ男!答えてくれてありがとう! これで確認できますが、現在の設定では、renderToStaticMarkup(babel ofcを含む)を使用してサーバー上の既存のコンポーネントのhtmlを取得できるはずですか?私はちょうどそれをクライアント上でpdfレンダリングしたくないので、server.jsの中でhtml-pdf libをおそらく使用することができますか? –

+0

そうでしょうか?私はあなたのユースケースについて詳しくは分かりません。 –

+0

私はそれをやってくれました、ありがとう、ちょうどサーバーにバベルをロードし、コンポーネントを含んでいて、renderToStaticMarkupに渡し、html-pdf libを使ってpdfを作成しました。 –

0

残念ながら、リクルートアプリケーションの作成(CRA)には、これを可能にする拡張性のポイントがありません。しかし、通常のCRAパイプラインを使用してクライアント側とサーバー側の両方のコードをコンパイル、テスト、実行することができるCRAの少し変更されたバージョンがあります。 - npm startは、アプリケーションのcient-sideとserver-sideの部分をコンパイルして起動します。同じHTTPポート上のWebpackの単一インスタンス。

さらに詳しい情報はReact App SDKをご覧ください。

関連する問題