Ark 前端版本信息

📣Announcements#7创建于: 2026/1/11 03:27:40更新于: 2026/1/11 03:27:40

2026 年前端“Ark-Front”标准全家桶:

1. 核心基础设施 (Core Base)

这部分决定了项目的编译速度和运行时的稳定性。

框架/工具 推荐版本 说明
Vue.js ^3.5.13 必须 3.5+。利用其响应式 Props 解构,处理权限组件非常优雅。
Vite ^6.0.0 配合你的 package.json。Vite 6 的模块热更新(HMR)针对大型 SDK 模块加载做了专项优化。
TypeScript ^5.7.0 强类型支持。对于 GitHub 返回的动态角色数据,通过 Interface 进行严格约束。
pnpm ^10.0.0 2026 年首选。比 npm 节省 50% 以上的磁盘空间,且能解决依赖幽灵问题。

2. 状态与权限管理 (State & Auth)

这是解决你“角色划分有问题”的关键依赖:

  • Pinia (^2.3.0): 取代 Vuex,配合 composition-api 编写逻辑,代码量减少 40%。
  • pinia-plugin-persistedstate (^4.0.0): 必须锁定版本,确保 GitHub 登录后的 Token 在浏览器刷新后不丢失。
  • Vue Router (^4.5.0): 配合 router.addRoute 动态挂载后端返回的菜单权限。

3. UI 与交互层 (UI & UX)

针对 GitHub 风格的简洁性和 Ark 框架的专业性:

  • Element Plus (^2.9.0): 国内生态最强,且已深度适配 Vue 3.5。
  • Tailwind CSS (^4.0.0): 强烈建议引入。v4 版本不再需要繁琐的 tailwind.config.js,直接在 CSS 中写逻辑,极大地减轻了 CSS 打包体积。
  • Lucide Vue Next (^0.460.0): 代替自带图标库,提供更轻量、更具科技感的图标,适合 SDK 这种 Lite 版项目。

4. 数据通信与工具 (Data & Utils)

  • Axios (^1.7.9): 处理与后端 Spring Boot 的交互。
  • VueUse (^12.0.0): 这是一个函数库(Hooks),它内置的 usePermissionuseStorage 能让你少写很多重复逻辑。
  • Casl (@casl/vue ^3.0.0): 解决角色划分的终极武器。如果你的权限逻辑复杂(如:不同角色对同一个按钮有不同操作权),Casl 可以实现类似 if (ability.can('update', 'article')) 的自然语言判断。

5. 建议的 package.json 终极配置(2026 稳定版)

你可以直接参考或替换你目前的配置,以确保版本对齐:

{
  "dependencies": {
    "vue": "^3.5.13",
    "vue-router": "^4.5.0",
    "pinia": "^2.3.0",
    "pinia-plugin-persistedstate": "^4.1.0",
    "element-plus": "^2.9.1",
    "axios": "^1.7.9",
    "@vueuse/core": "^12.0.0",
    "js-cookie": "^3.0.5",
    "nprogress": "^0.2.0"
  },
  "devDependencies": {
    "vite": "^6.0.5",
    "typescript": "^5.7.2",
    "@vitejs/plugin-vue": "^5.2.1",
    "tailwindcss": "^4.0.0",
    "eslint": "^9.15.0",
    "vue-tsc": "^2.1.10"
  }
}

💡 针对你“角色划分问题”的深度建议

前端的框架选对了只是开始,逻辑上你需要遵循 “三位一体” 权限体系:

  1. 用户中心 (User Store): 负责存储 GitHub 登录后的 userInfotoken
  2. 权限中心 (Permission Store): 将后端返回的 roles: ['ADMIN'] 转换成前端的路由表。
  3. 指令中心 (Directives): 注册一个全局指令 v-permission,直接在组件上写 <el-button v-permission="['admin']">删除</el-button>