优化卡死的问题

This commit is contained in:
yinsx
2025-12-20 14:13:59 +08:00
parent 3098796a08
commit ad60f8c3ec
7 changed files with 495 additions and 108 deletions

158
lib/scaffold/config.js Normal file
View File

@ -0,0 +1,158 @@
// 二级菜单 - 项目类型
export const projectTypes = [
{ name: "前端", desc: "React/Vue项目" },
{ name: "后端", desc: "Node.js服务端" },
{ name: "全栈", desc: "前后端一体化" },
];
// 三级菜单 - 具体框架
export const frameworks = {
前端: [
{ name: "React", desc: "Vite + React", value: "react-vite" },
{ name: "Vue", desc: "Vite + Vue", value: "vue-vite" },
],
后端: [
{ name: "Bun", desc: "Bun运行时", value: "bun" },
{ name: "NestJS", desc: "企业级框架", value: "nestjs" },
{ name: "Express", desc: "Express Generator", value: "express" },
{ name: "Koa", desc: "Koa Generator", value: "koa" },
{ name: "Egg", desc: "阿里Egg.js", value: "egg" },
{ name: "Midway", desc: "阿里Midway", value: "midway" },
{ name: "Fastify", desc: "高性能框架", value: "fastify" },
{ name: "AdonisJS", desc: "全功能MVC", value: "adonisjs" },
],
全栈: [
{ name: "Next.js", desc: "React全栈框架", value: "nextjs" },
{ name: "Nuxt", desc: "Vue全栈框架", value: "nuxt" },
],
};
// 前端组件配置步骤
export const frontendSteps = [
{
name: "路由",
type: "select",
message: "选择路由方案",
options: [
{ value: "none", label: "不需要路由" },
{ value: "react-router", label: "React RouterReact项目" },
{ value: "vue-router", label: "Vue RouterVue项目" },
],
default: "none"
},
{
name: "状态管理",
type: "select",
message: "选择状态管理方案",
options: [
{ value: "none", label: "不需要状态管理" },
{ value: "zustand", label: "Zustand轻量级React推荐" },
{ value: "pinia", label: "PiniaVue官方推荐" },
{ value: "redux", label: "Redux Toolkit大型项目" },
{ value: "mobx", label: "MobX响应式状态管理" },
],
default: "none"
},
{
name: "HTTP请求",
type: "select",
message: "选择HTTP请求库",
options: [
{ value: "none", label: "不需要HTTP库" },
{ value: "axios", label: "Axios功能全面拦截器支持" },
{ value: "ky", label: "Ky轻量级基于Fetch" },
{ value: "ofetch", label: "ofetchNuxt团队出品" },
],
default: "none"
},
{
name: "UI组件库",
type: "select",
message: "选择UI组件库",
options: [
{ value: "none", label: "不需要UI库" },
{ value: "antd", label: "Ant Design企业级React" },
{ value: "element-plus", label: "Element Plus饿了么Vue" },
{ value: "arco", label: "Arco Design字节跳动" },
{ value: "naive-ui", label: "Naive UIVue3原生" },
{ value: "shadcn", label: "shadcn/ui可定制React" },
],
default: "none"
},
{
name: "CSS方案",
type: "select",
message: "选择CSS方案",
options: [
{ value: "none", label: "原生CSS" },
{ value: "tailwind", label: "Tailwind CSS原子化CSS" },
{ value: "unocss", label: "UnoCSS即时原子化" },
{ value: "sass", label: "Sass/SCSS预处理器" },
{ value: "less", label: "Less预处理器" },
{ value: "styled", label: "Styled ComponentsCSS-in-JS" },
],
default: "none"
},
{
name: "工具库",
type: "multiselect",
message: "选择常用工具库",
options: [
{ value: "lodash", label: "Lodash工具函数库" },
{ value: "dayjs", label: "Day.js日期处理" },
{ value: "iconify", label: "Iconify图标库" },
{ value: "vueuse", label: "VueUseVue组合式工具" },
{ value: "ahooks", label: "ahooksReact Hooks库" },
],
default: []
},
{
name: "表单验证",
type: "select",
message: "选择表单验证方案",
options: [
{ value: "none", label: "不需要表单验证" },
{ value: "zod", label: "ZodTypeScript优先" },
{ value: "yup", label: "Yup声明式验证" },
{ value: "vee-validate", label: "VeeValidateVue专用" },
{ value: "react-hook-form", label: "React Hook Form" },
],
default: "none"
},
{
name: "国际化",
type: "select",
message: "选择国际化方案",
options: [
{ value: "none", label: "不需要国际化" },
{ value: "i18next", label: "i18next通用方案" },
{ value: "vue-i18n", label: "Vue I18nVue专用" },
],
default: "none"
},
{
name: "代码规范",
type: "multiselect",
message: "选择代码规范工具",
options: [
{ value: "eslint", label: "ESLint代码检查" },
{ value: "prettier", label: "Prettier代码格式化" },
{ value: "husky", label: "HuskyGit Hooks" },
{ value: "lint-staged", label: "lint-staged暂存区检查" },
{ value: "commitlint", label: "Commitlint提交信息规范" },
],
default: []
},
{
name: "其他",
type: "multiselect",
message: "选择其他功能",
options: [
{ value: "mock", label: "Mock.js模拟数据" },
{ value: "pwa", label: "PWA支持" },
{ value: "storage", label: "持久化存储封装" },
{ value: "env", label: "环境变量配置" },
],
default: []
}
];