Webpack 4 y reaccionar cargable no parece crear un fragmento correcto para la representación del lado del servidor
Estoy tratando de crear la aplicación ssr react con la importación de carga diferida. Todo funciona bien excepto él no recupera todos los fragmentos necesarios
También me pregunto si esto está relacionado con el componente dinámico, que se basa en la respuesta del servidor
enter code here
Edit: en realidad procesa todos los fragmentos necesarios, pero borra todo cuando el lado del cliente se hace cargo y vuelve a renderizar
Desde que vuelve a procesar todo, se ralentiza mucho.
El analizador ocurre en el lado del servidor y cuando el lado del cliente se hace cargo, busca más server.js
const history = createHistory({
initialEntries: [urlPath],
})
// const history = createHistory()
const store = configureStore(history, {
location: {
...
},
})
const context = {}
const htmlRoot = (
<Provider store={store}>
<StaticRouter location={urlPath} context={context}>
<AppRoot />
</StaticRouter>
</Provider>
)
// pre fetching data from api
store
.runSaga(rootSaga)
.done.then(() => {
const RTS = renderToString(htmlRoot) + printDrainHydrateMarks()
const head = Helmet.renderStatic()
console.log(printDrainHydrateMarks())
res.status(code).send(renderDom(RTS, port, host, storeState, head))
}
})
.catch(e => {
console.log(e.message)
res.status(500).send(e.message)
})
renderToString(htmlRoot)
console.log(printDrainHydrateMarks())
store.close()
} else {
res.status(500).send(_err)
}
Prod Server
Loadable.preloadAll().then(() => {
app.listen(PROD_PORT, (error) => {
})
});
Lado del client
Loadable.preloadReady().then(() => {
hydrate(
<Provider store={store}>
<ConnectedRouter history={history}>
<AppRoot />
</ConnectedRouter>
</Provider>,
domRoot,
)
})
Split Chunks setup
styles: {
name: 'styles',
test: /\.css$/,
chunks: 'all',
enforce: true
},
Cualquier opinión o consejo es bienvenido, por favor
Alguien sugirió probar con window.onload = () => {pero este enfoque también parece ser más lento.