@fourcels/vite-plugin-react-pages
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

vite-plugin-react-pages

File system routing for React applications base react-router, vite

Getting Started

Install

pnpm add @fourcels/vite-plugin-react-pages react-router react-router-dom

Vite config

Add to your vite.config.js:

import pages from "@fourcels/vite-plugin-react-pages";

export default {
  plugins: [
    // ...
    pages(),
  ],
};

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 React from "react";
import ReactDOM from "react-dom/client";
import { createBrowserRouter, RouterProvider } from "react-router-dom";

import routes from "~pages";

ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
  <React.StrictMode>
    <RouterProvider router={createBrowserRouter(routes)} />
  </React.StrictMode>,
);

Type

// vite-env.d.ts
/// <reference types="@fourcels/vite-plugin-react-pages/client" />

Route Style

Example:

exmaple

# 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

Package Sidebar

Install

npm i @fourcels/vite-plugin-react-pages

Weekly Downloads

18

Version

0.5.1

License

MIT

Unpacked Size

17.6 kB

Total Files

16

Last publish

Collaborators

  • fourcels