@alexseitsinger/react-ssr
v10.0.0
Published
Front-end service for server-side rendering react apps.
Downloads
69
Readme
React-SSR (Frontend)
A webpack compiler and provider for render and serving server-side react. Expected to be used in combination with React-SSR (Backend)
Installation
yarn add @alexseitsinger/react-ssr
Modules
browserBundle
The entry point for the client-side bundle.
import { browserBundle } from "@alexseitsinger/react-ssr"
export const store = browserBundle({
App,
createStore,
render: (PreparedApp, { store, browserHistory }) => {
hydrate(<PreparedApp />, document.getElementById("app"))
}),
})
serverBundle
The entry point for a server-side bundle.
import { serverBundle } from "@alexseitsinger/react-ssr"
export default serverBundle({
App,
createStore,
render: (PreparedApp, { store, serverHistory, url }) => {
const html = renderToString(<PreparedApp />)
const state = store.getState()
return {
html,
state,
}
},
})
Scripts
The script to start the compilation (development only) and provider servers.
yarn react-server [--address <value> ...]
Options
Name | Description | Default | Required --- | --- | --- | --- address | The address the servers should listen on. | 0.0.0.0 | yes compilerPort | The port the compiler server should use. | 8081 | no providerPort | The port the provider server should ue. | 8082 | no browserConfig | The path to the browser-side webpack config. | undefined | yes serverConfig | The path to the server-side webpack config | undefined | yes renderURL | The endpoint that provides server-side renders. | /render | no reducerDirs | Extra paths to reducer directories within the app. | undefined | no appPath | The base path to use when finding default state files. | undefined | yes defaultStateURL | The url to use for retrieving default state. | /defaultState | no defaultStateFileName | The file name to look for which contains the default state. | defaultState.json | no browserStatsURL | The url to use for retrieving the current browser bundle's webpack stats. | /browserStats | no browserStatsPath | The path to prepend to the browser stats file. | undefined | yes browserStatsFileName | The name of the browser stats file. | stats.json | no secretKeyValue | The secret key value to match against when receiving requests. | undefined | no secretKeyHeaderName | The name of the header that will contain the secret key. | secret-key | no serverBundlePath | The path to find the server bundle. | undefined | yes serverBundleName | The name of the server bundle. | server.js | no allowedFiles | Names of files that are allowed to be read. | webpack.json | no ignoredFiles | Names of files that are never allowed to be read. | undefined | no