{"id":14977084,"url":"https://github.com/ykfe/viter","last_synced_at":"2025-10-27T23:31:46.550Z","repository":{"id":45542730,"uuid":"360074619","full_name":"ykfe/viter","owner":"ykfe","description":"小而美的 Vite 中后台开发框架","archived":false,"fork":false,"pushed_at":"2023-07-18T10:23:38.000Z","size":1041,"stargazers_count":90,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"3.x","last_synced_at":"2024-10-08T17:37:16.031Z","etag":null,"topics":["fullstack","react","vite"],"latest_commit_sha":null,"homepage":"https://viterjs.github.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ykfe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-21T07:37:22.000Z","updated_at":"2023-12-29T09:14:44.000Z","dependencies_parsed_at":"2024-06-21T17:54:01.969Z","dependency_job_id":"b7db7c60-e663-4b7a-b7ea-1183daf1d43d","html_url":"https://github.com/ykfe/viter","commit_stats":null,"previous_names":["ykfe/create-vite-app"],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ykfe%2Fviter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ykfe%2Fviter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ykfe%2Fviter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ykfe%2Fviter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ykfe","download_url":"https://codeload.github.com/ykfe/viter/tar.gz/refs/heads/3.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219860467,"owners_count":16556017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fullstack","react","vite"],"created_at":"2024-09-24T13:55:01.609Z","updated_at":"2025-10-27T23:31:45.888Z","avatar_url":"https://github.com/ykfe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://viterjs.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg width=\"180\" src=\"https://img.alicdn.com/imgextra/i4/O1CN01Y566rd1lxNVUjXnfJ_!!6000000004885-0-tps-754-600.jpg\" alt=\"Viter logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e小而美的 Vite 中后台开发框架\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.com/package/viter\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/viter.svg\" alt=\"npm package\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://nodejs.org/en/about/releases/\"\u003e\u003cimg src=\"https://img.shields.io/node/v/vite.svg\" alt=\"node compatibility\"\u003e\u003c/a\u003e\n  \n\u003c/p\u003e\n\u003cbr/\u003e\n\n## 特性\n\n- 😀 **开箱即用**：提供开箱即用的工程配置以及标准模板\n- 😊 **路由**：基于新一代 React Router V6，采用完全配置式路由\n- 🤣 **代码分割** 支持基于路由的代码分割\n- 😅 **TypeScript**：默认使用 TypeScript\n- 😉 **插件**：完全基于 Vite 插件体系，无生态壁垒\n\n## 快速上手\n\n### 环境准备\n\n首先得有 [node](https://nodejs.org/en/)，并确保 node 版本是 12 或以上。（mac 下推荐使用 [nvm](https://github.com/creationix/nvm) 来管理 node 版本）\n\n```bash\n$ node -v\nv12.18.3\n```\n\n### 搭建第一个 Viter 项目\n\n使用 NPM:\n\n```bash\n$ npm init @viterjs/app\n\nnpx: 5 安装成功，用时 4.312 秒\n✔ Project name: · viter-project\n✔ Select a framework: · react-admin-ts\nreact-admin-ts\n\nScaffolding project in /Users/jerry/work-project/viter-project...\n\nDone. Now run:\n\n  cd viter-project\n  npm install\n  npm run dev\n\n```\n\n### 启动项目\n\n```bash\n$ npm run dev\n\n\u003e viter-project@0.0.1 dev /Users/xxx/github-project/xxx\n\u003e viter\n\n\n  vite v2.5.1 dev server running at:\n\n  \u003e Local: http://localhost:3000/\n  \u003e Network: use `--host` to expose\n\n```\n\n在浏览器里打开 [http://localhost:3000/](http://localhost:3000/)，能看到以下界面，\n\n![](https://img.alicdn.com/imgextra/i3/O1CN014yo0KO1WG7rjR5gMJ_!!6000000002760-0-tps-1444-982.jpg)\n\n### 修改配置\n\n通过修改项目中的 `viter.config.ts` 文件，配置项目。模板中的配置如下：\n\n```ts\nimport { defineConfig } from 'viter';\nimport reactRefresh from '@vitejs/plugin-react-refresh';\n\nexport default defineConfig({\n  // 插件配置\n  plugins: [reactRefresh()],\n  // 配置路由\n  routes: [\n    {\n      path: '/',\n      component: '@/layout',\n      routes: [\n        { path: '/', redirect: '/home' },\n        { path: '/home', component: './Home' },\n        { path: '/about', component: './About' },\n        { path: '/404', component: './NotFind' },\n        { path: '/*', redirect: '/404' },\n      ],\n    },\n  ],\n  // 开启动态加载\n  dynamicImport: {\n    loading: '@/loading',\n  },\n});\n```\n\n更多配置，请前往 [Viter 文档](https://viterjs.github.io/) 查看。\n\n### 部署发布\n\n#### 构建\n\n```bash\n$ npm run build\n\n\u003e viter-project@0.0.0 build /Users/jerry/github-project/viter-project\n\u003e viter build\n\nvite v2.5.6 building for production...\n✓ 44 modules transformed.\ndist/index.html                  0.45 KiB\ndist/assets/index.cb6faa6d.js    0.18 KiB / brotli: 0.12 KiB\ndist/assets/index.0662466a.js    0.77 KiB / brotli: 0.33 KiB\ndist/assets/index.d5836ef7.js    0.12 KiB / brotli: 0.09 KiB\ndist/assets/index.0c87e543.js    0.12 KiB / brotli: 0.09 KiB\ndist/assets/index.a851cde7.js    2.38 KiB / brotli: 0.84 KiB\ndist/assets/index.588c1ae3.css   0.53 KiB / brotli: 0.25 KiB\ndist/assets/vendor.eb369f9e.js   143.59 KiB / brotli: 40.60 KiB\n\n  finished in 3202ms.\n```\n\n构建产物默认生成到 `./dist` 下。\n\n#### 本地验证\n\n发布之前，可以通过 `serve` 做本地验证，\n\n```bash\n$ npm run serve\n\n\u003e viter-project@0.0.0 serve /Users/xxx/github-project/viter-project\n\u003e viter preview\n\n\n  vite v2.5.6 build preview server running at:\n\n  \u003e Local: http://localhost:5000/\n  \u003e Network: use `--host` to expose\n\n```\n\n访问 [http://localhost:5000](http://localhost:5000)，正常情况下应该是和执行 `npm run dev` 时是一致的。\n\n#### 部署\n\n本地验证完，就可以部署了。你需要把 `dist` 目录部署到服务器上。\n\n### Packages\n\n| Package                                                | Version                                                                                                                     |\n| ------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |\n| [viter](packages/viter)                                | ![viter version](https://img.shields.io/npm/v/viter.svg?label=%20)                                                          |\n| [@viterjs/render](packages/renderer)                   | ![plugin-vue version](https://img.shields.io/npm/v/@viterjs/renderer.svg?label=%20)                                         |\n| [@viterjs/runtime](packages/runtime)                   | ![runtime version](https://img.shields.io/npm/v/@viterjs/runtime.svg?label=%20)                                             |\n| [@viterjs/eslint-config](packages/eslint-config-viter) | ![@viterjs/eslint-config version](https://img.shields.io/npm/v/@viterjs/eslint-config.svg?label=%20)                        |\n| [@viterjs/create-app](packages/create-app)             | [![create-vite version](https://img.shields.io/npm/v/@viterjs/create-app.svg?label=%20)](packages/create-vite/CHANGELOG.md) |\n\n### License\n\n[MIT](https://github.com/ykfe/viter/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fykfe%2Fviter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fykfe%2Fviter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fykfe%2Fviter/lists"}