Closed
Description
I'm using React Router as a...
framework
Reproduction
I'd like to prerender some routes like terms, privacy, about-us. But when I setup react-router.config.ts I got an error on building.
I just npx create-react-router@latest
and change react-router.config.ts
like this:
import type { Config } from "@react-router/dev/config";
export default {
// Config options...
// Server-side render by default, to enable SPA mode set this to `false`
ssr: true,
async prerender() {
return ["/"];
},
} satisfies Config;
It is happen on StackBlitz too
The error with default template
x Build failed in 85ms
[react-router] Prerender: Received a 500 status code from `entry.server.tsx` while prerendering the `/` path.
Unexpected Server Error
at validatePrerenderedResponse (/Users/gustavo/repos/estudos/js/rr-default/node_modules/@react-router/dev/dist/vite.js:2635:11)
at prerenderRoute (/Users/gustavo/repos/estudos/js/rr-default/node_modules/@react-router/dev/dist/vite.js:2599:3)
at handlePrerender (/Users/gustavo/repos/estudos/js/rr-default/node_modules/@react-router/dev/dist/vite.js:2525:7)
at Object.handler (/Users/gustavo/repos/estudos/js/rr-default/node_modules/@react-router/dev/dist/vite.js:2029:13)
at async Promise.all (index 0)
at PluginDriver.hookParallel (file:///Users/gustavo/repos/estudos/js/rr-default/node_modules/rollup/dist/es/shared/node-entry.js:20740:9)
at file:///Users/gustavo/repos/estudos/js/rr-default/node_modules/rollup/dist/es/shared/node-entry.js:21783:13
at catchUnfinishedHookActions (file:///Users/gustavo/repos/estudos/js/rr-default/node_modules/rollup/dist/es/shared/node-entry.js:21158:16)
at Module.build (file:///Users/gustavo/repos/estudos/js/rr-default/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:65449:16)
at viteBuild (/Users/gustavo/repos/estudos/js/rr-default/node_modules/@react-router/dev/dist/cli/index.js:1204:5) {
code: 'PLUGIN_ERROR',
plugin: 'react-router',
hook: 'writeBundle'
}
The error with cloudflare template
x Build failed in 429ms
[react-router] Cannot convert undefined or null to object
at Function.values (<anonymous>)
at groupRoutesByParentId2 (/Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/@react-router/dev/dist/vite.js:2650:10)
at createPrerenderRoutes (/Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/@react-router/dev/dist/vite.js:2661:76)
at handlePrerender (/Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/@react-router/dev/dist/vite.js:2477:16)
at Object.handler (/Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/@react-router/dev/dist/vite.js:2029:13)
at async Promise.all (index 0)
at PluginDriver.hookParallel (file:///Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/rollup/dist/es/shared/node-entry.js:20740:9)
at file:///Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/rollup/dist/es/shared/node-entry.js:21783:13
at catchUnfinishedHookActions (file:///Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/rollup/dist/es/shared/node-entry.js:21158:16)
at Module.build (file:///Users/gustavo/repos/estudos/js/rr-cloudflare/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:65449:16) {
code: 'PLUGIN_ERROR',
plugin: 'react-router',
hook: 'writeBundle'
}
System Info
System:
OS: macOS 14.7
CPU: (11) arm64 Apple M3 Pro
Memory: 169.31 MB / 18.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.11.1 - ~/.asdf/installs/nodejs/20.11.1/bin/node
npm: 10.2.4 - ~/.asdf/plugins/nodejs/shims/npm
pnpm: 9.14.4 - ~/Library/pnpm/pnpm
Browsers:
Chrome: 131.0.6778.109
Safari: 17.6
npmPackages:
@react-router/dev: ^7.0.2 => 7.0.2
@react-router/node: ^7.0.2 => 7.0.2
@react-router/serve: ^7.0.2 => 7.0.2
react-router: ^7.0.2 => 7.0.2
vite: ^5.4.11 => 5.4.11
Used Package Manager
npm
Expected Behavior
I should prerender any route I want.
Actual Behavior
There isn't possible to prerender in any template.