Skip to content
/ vit Public

🚀 React application framework inspired by UmiJS / 类 UmiJS 的 React 应用框架

License

Notifications You must be signed in to change notification settings

vitjs/vit

Repository files navigation

English | 简体中文

Vit logo

GitHub stars npm package node compatility vite compatility

Vit 🚀

React application framework inspired by UmiJS.

  • ⚡️ Manually Defined Routing
  • ✨ Routing-based Code Splitting
  • 🎁 Exported Pure Static Application
  • 🎨 Mock Data, Usable in the Production

Routing

The framework takes over route definition and rendering, application entry. Developers only focus on business development after configure the route definition.

Mock Data

Based on vite-plugin-mock, Built-in interception for fetch, you can easily use mock data in the production environment to facilitate project preview.

How to use?

Install

# Vite plugin, Core function realization
$ yarn add @vitjs/vit --dev

# Vit app runtime, provide application runtime related components
$ yarn add @vitjs/runtime

Config

<!-- index.html -->
<body>
  <div id="root"></div>
  <script type="module" src="/@vit-app"></script>
</body>
// vite.config.ts
import type { UserConfig } from 'vite';
import vitApp from '@vitjs/vit';

const config: UserConfig = {
  plugins: [
    vitApp({
      // Configure routing according to the project structure, and import components uniformly from the `src` directory
      // icon currently supports automatic escaping as icons in [`@ant-design/icons`](https://ant.design/components/icon/#List-of-icons)
      routes: [
        {
          path: '/',
          component: './layouts/BasicLayout',
          routes: [
            {
              path: '/',
              redirect: '/welcome',
              exact: true,
            },
            {
              path: '/welcome',
              icon: 'smile',
              name: 'Welcome',
              component: './pages/Welcome',
            },
          ],
        },
      ],
    }),
  ],
};

export default config;
// tsconfig.json
// For better TS type prompt, you need to add the following configuration
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@@/*": ["./src/.vit/*"]
    }
  }
}

In addition, the plugin will generate runtime dependencies, so the build script of the application needs to remove the tsc command. In the end, add the directory .vit where the temporary files are located to .gitignore.

Auto import

globalImports lets you customize the files that need to be imported globally automatically. By default, you can see import.ts

In particular, _app.tsx can be automatically import to rewrite the application's rendering logic.

Upgrade

$ yarn upgrade --scope @vitjs

$ yarn upgrade --scope @vitjs --latest

Application Template

For more details, please refer directly to the application template yunsii/vite-react. It is worth noting that the current plugin is still under heavy development, API and usages are not set in stone yet.