This project was bootstrapped with Create React App, and has been modified to be handle server rendering.
The following changes have been made from a standard Create React App project:
- An
index.node.js
file has been added, which will be bundled to thebuild/node
directory. It exports a standard Node HTTP middleware that can be used to render the app within an Express app, or within a serverless function. - A
%RENDERED_CONTENT%
placeholder has been added toindex.html
, which is replaced with the rendered content by the NNode renderer. - A middleware has been added to the dev server that uses
index.node.js
to render your app during development. - Support for both
.web.js
and.node.js
extensions, which will be used in their respective environments. - The original value of the
process.env
object has been made usable, allowing the Node bundle to access environment variables. - The React app has been updated to use
ReactDOM.hydrate()
instead ofReactDOM.render()
. - A
serve
script has been added, which can be called withnpm run serve
, and will serve the contents ofbuild
. It includes an express-based server to load the exported middleware. - All SSR-related features can be disabled by removing index.node.js.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Launches a server for the content in the build
folder.
It loads the Node bundle to handle server rendering when available.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify