README.md
April 20, 2025 ยท View on GitHub
A rsbuild plugin generates pages for React applications.
๐ฆ Installation
npm install rsbuild-react-generate-pages -D
๐ฆ Usage
Configuration rsbuild.config.ts
import { defineConfig } from '@rsbuild/core';
import { pluginReact } from '@rsbuild/plugin-react';
import { pluginReactGeneratePages} from 'rsbuild-react-generate-pages';
export default defineConfig({
plugins: [pluginReactGeneratePages(), pluginReact()],
});
Overview
By default a page is a
React Router lazy component
exported from a .tsx, .jsx, .ts, .js file in the src/pages directory.
You can access the generated routes by importing the ~pages module in your
application.
import ReactDOM from 'react-dom/client'
import { RouterProvider, createBrowserRouter } from 'react-router-dom'
import routes from '~pages'
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<RouterProvider router={createBrowserRouter(routes)} />
)
Type
// env.d.ts
/// <reference types="rsbuild-react-generate-pages/client" />
Route Style
layout.{tsx,jsx,ts,js}=> layout pagepage.{tsx,jsx,ts,js}=> index page404.{tsx,jsx,ts,js}=> not found page_lib=> private folder (underscore prefix)(layout)=> Layout Routes[id]=>:idDynamic Segments[[id]]=>:id?Optional Segments[...slug]=>*Splats{task}=>task?Optional Static Segments
Example:
# folder structure
src/pages/
โโโ (dashboard)
โ โโโ [...slug]
โ โ โโโ page.tsx
โ โโโ posts
โ โ โโโ [id]
โ โ โ โโโ page.tsx
โ โ โโโ page.tsx
โ โโโ layout.tsx
โ โโโ page.tsx
โโโ about
โ โโโ [[lang]]
โ โโโ page.tsx
โโโ 404.tsx
โโโ layout.tsx
โโโ page.tsx