He intentado durante un tiempo, sin éxito, hacer que mi configuración funcione para una aplicación que tiene las siguientes características:

  1. Mecanografiado
  2. Reaccionar
  3. Representación del lado del servidor utilizando componentes cargables
  4. Paquete web

Por alguna razón, este fragmento, que se supone que encuentra todos los fragmentos que se usaron durante la representación del lado del servidor, no funciona:

server.get("*", (req, res, next) ={amp}gt; { const extractor = new ChunkExtractor({ statsFile }); ... const tsx = extractor.collectChunks( {amp}lt;ChunkExtractorManager extractor={extractor}{amp}gt; {amp}lt;StaticRouter location={req.url}{amp}gt; {amp}lt;App data={data}/{amp}gt; {amp}lt;/StaticRouter{amp}gt; {amp}lt;/ChunkExtractorManager{amp}gt; ); console.log(extractor.getScriptTags()); // prints server.js bundle but this isn't correct }); 

Está devolviendo el paquete server.js lugar de los paquetes de cliente / proveedor necesarios. En lugar de publicar todo el código aquí, he insertado todo el código en mi sucursal en github: https://github.com/markdstevens/ssr-ts-react-webpack-boilerplate/tree/ssr-with-code-splitting

Debo perder alguna configuración en el paquete web o en los componentes cargables, pero he buscado en todas partes y parece que no puedo encontrar el problema. Cualquier consejo sería bienvenido. ¡Gracias!

Encontró el problema. En mi configuración de paquete web, tenía esto en la configuración de mi servidor:

 import * as LoadablePlugin from '@loadable/webpack-plugin'; ... { entry: './src/server/app.tsx', target: 'node', externals: [nodeExternals()], output: { filename: 'server.js', }, plugins: [ new LoadablePlugin() ] } 

También tuve que agregar LoadablePlugin a la configuración de mi cliente para que todo funcionara.