English | 简体中文
React application framework inspired by UmiJS.
- ⚡️ Manually Defined Routing
- ✨ Routing-based Code Splitting
- 🎁 Exported Pure Static Application
- 🎨 Mock Data, Usable in the Production
The framework takes over route definition and rendering, application entry. Developers only focus on business development after configure the route definition.
Based on vite-plugin-mock, Built-in interception for fetch, you can easily use mock data in the production environment to facilitate project preview.
# Vite plugin, Core function realization
$ yarn add @vitjs/vit --dev
# Vit app runtime, provide application runtime related components
$ yarn add @vitjs/runtime
<!-- 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
.
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.
$ yarn upgrade --scope @vitjs
$ yarn upgrade --scope @vitjs --latest
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.