2017-04-05 3 views
1

Ich benutze create-react-app in meinem neuesten Projekt und es ist großartig! Jetzt stehe ich vor einem Problem, von dem ich nicht weiß, wie ich es richtig lösen soll.Create-react-app Render-Komponente auf Server

Ich habe App mit Redux für meine Staatsverwaltung erstellt, und das alles funktioniert gut.

Jetzt habe ich nicht viel Erfahrung mit Server-Seite Renderin in React, aber für meine nächste Funktion muss ich eine der vorhandenen/arbeiten reagieren Komponenten (die mit Redux-Speicher verbunden sind) und rendern auf Server, der mit create-react-app ausgeliefert wird. Der Grund, warum ich das tun möchte, ist, in der Lage zu sein, einige Bibliotheken wie PDF-Generatoren und Simillar zu benutzen, um einige von ihnen auszudrucken (auch einige andere Sachen, aber das ist das Grundlegende).

Zunächst bin ich verwirrt, da ich nicht Everyting auf Server rendern möchte, was ist der beste/richtige Weg (für die Entwicklung) zu laufen Webpack-Dev-Server und Node-Server, der all diese Aufgaben I tun wird oben parallel erwähnt anstatt nur den Standard-Port zu ändern, sagen wir 8000, und es manuell ausführen?

Secound, sollte ich in der Lage sein, nur ReactDOMServer.renderToString auf dieser vorhandenen Komponente auf dem Server zu verwenden oder gibt es noch etwas, das Dinge komplizieren wird (ich weiß, dass ich babel auf dem Server definitly hinzufügen muss)?

+3

create-react-app unterstützt das serverseitige Rendering noch nicht! –

Antwort

1

Create React App unterstützt Server Rendering nicht. Vielleicht möchten Sie zu Next.js migrieren, was auch geschieht.

+0

Hey Mann! Vielen Dank für die Antwort! Ok wird es überprüfen, aber mit dem aktuellen Setup, sollte ich in der Lage sein, HTML der vorhandenen Komponente auf meinem Server mit renderToStaticMarkup (einschließlich babel ofc) zu bekommen? Ich möchte einfach nicht, um es auf dem Client pdf-Rendering zu machen, so dass ich in server.js könnte ich HTML-PDF-Lib wahrscheinlich oder so ähnlich? –

+0

Ja wahrscheinlich? Ich weiß nicht genug über Ihren Anwendungsfall, um mehr Details zu geben. –

+0

Yup ich schaffte es zu tun, danke Mann, nur babel auf den Server laden musste, enthalten die Komponente, übergeben Sie es an renderToStaticMarkup und dann verwenden Sie die HTML zum Erstellen von PDF mit HTML-PDF-Lib für node.js –

0

Leider Create React App (CRA) hat keine Erweiterungspunkte, um dies zu ermöglichen. Aber es gibt eine leicht veränderte Version von CRA, die das Kompilieren, Testen und Ausführen von sowohl clientseitigem als auch serverseitigem Code mit regulärer CRA-Pipeline ermöglicht - npm start kompiliert und startet sowohl cient-seitige als auch serverseitige Teile Ihrer App mit a einzelne Instanz von Webpack, auf dem gleichen HTTP-Port.

Weitere Informationen finden Sie unter React App SDK.