Vue3前端开发规约助手

SKILL开发

原名 TS + Vue3 前端开发规约:类型逃逸与循环依赖门禁 · 标识 vue-ts-frontend-dev

开发 未标注权限 许可证不明确
安装这个技能

依据前端开发手册的七大维度,帮你在写页面组件、设计API与类型、管理状态路由、处理异常时按规约落地,也能按手册做代码评审,兼顾类型逃逸与循环依赖治理。

一句话选型结论

按资料字段整理

Vue3前端开发规约助手是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_df830f35/vue-ts-frontend-dev
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_df830f35仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量10.1 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
写Vue组件页面设计TS类型与接口按手册做代码评审

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Vue3前端开发规约助手当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

10.1 KB
模型实际读到的说明书原文,来自技能仓库

前端开发规约(TypeScript + Vue 3)

以 docs/前端开发手册-TypeScript-Vue.md 为唯一规则源。目标是产出能过评审的代码,不是复述规范条文。

何时用

  • 新写 / 改造页面、业务组件、公共组件、组合式函数
  • 设计 API 层、类型定义、Pinia store、路由与权限
  • 处理请求异常、错误码映射、日志与埋点
  • 按手册评审前端代码,输出带定位与修法的违规清单
  • 排查"点了没反应""数据串台""页面白屏""内存泄漏"
  • 接手既有工程 / JS→TS 迁移 / 给若依类后台加固类型

0. 接手既有工程:先验类型门禁

不要先读业务代码。 先确认"类型错误会不会被拦住",三条命令定生死:

grep -rn "declare module" src --include=*.d.ts     # 有无空模块声明遮蔽 axios/element-plus/*.vue
grep -n "vue-tsc\|type-check" package.json          # 构建是否跑类型检查
grep -nE "noUnusedLocals|noImplicitReturns" tsconfig.json

一行搞定(P 系列 = 工程配置,C 系列 = 循环依赖):

python scripts/check_frontend.py . --only P001,P002,P003,P004,P005,C001

任一条不合格,就按 references/06 的 §1→§2 修门禁,再跑 npm run type-check 拿到真实错误清单——那份清单才是工作量。门禁没修就改业务代码,等于在没有刻度的尺子上量长度。

判定口诀:strict 开着 + 构建不跑 vue-tsc + declare module 'axios' = 没有类型。

工作流

  1. 判定任务类型,只加载需要的参考文件:
任务 加载
写组件 / 组合式函数 / 类型 references/01-编程规约速查.md
接口封装、错误码、异常、日志埋点 references/02-接口契约与异常日志.md
状态管理、目录分层、构建依赖 references/03-状态与工程结构.md
单测、安全、组件设计 references/04-测试安全与设计.md
Code Review / 提测自检 references/05-评审清单.md
若依/RuoYi 类后台、Element Plus、JS→TS 迁移、类型门禁加固 references/06-若依工程范式与TS加固.md
多包/monorepo、分层与包边界、门禁与 CI、循环依赖、规模化协作 references/07-工程化与规模化约定.md
  1. 动手前先定契约(与后端对齐,不确定就问):接口路径与方法、字段命名 lowerCamelCase、空值语义(列表空返回 [])、大整数用 string、金额单位(分)、时间格式(yyyy-MM-dd HH:mm:ss)、错误码与用户提示、分页参数(pageNum 从 1 开始)。

  2. 按单向依赖落位:views(取数+编排) → components(只吃 props) → composables(可复用逻辑) → api(只发请求) → utils(纯函数)。禁止 components 直连 api、utils 依赖 store。

  3. 落三条主流程:数据流(props 下行 / emit 上行 / store 管共享)、异常流(请求层转 ApiError → 全局兜底 → 局部 onErrorCaptured → 三态 UI)、权限流(路由守卫 + 按钮级指令,均只作体验优化,真正鉴权在后端)。

  4. 跑自检脚本(推荐):

python scripts/check_frontend.py <目录或文件> --format text
python scripts/check_frontend.py <目录或文件> --only R001,R003,P001     # 只看类型门禁

三个规则族:

  • F 系列:any、v-html、index 当 key、v-if+v-for 同用、props 赋值、深 watch、localStorage 存 token、console.log、JSON.parse(JSON.stringify())、target="_blank" 无 rel、moment、裸 axios 等;
  • R 系列(类型逃逸):空 declare module 遮蔽第三方类型、*.vue shim、proxy: any、TS 组件用运行时 defineProps、Promise.reject('字符串')、{} as T、TableDataInfo<T[]> 泛型套错、meta as any、包深路径引用、new Promise 包已有 Promise;
  • C 系列(循环依赖):本地 import 图 + 逐文件 tsconfig 别名解析,输出完整环链,区分桶文件互引与自引用导入,忽略 import type;
  • P 系列(工程门禁,传目录时自动触发):package.json 无 type-check、tsconfig 缺严格开关、allowJs: true、无 ESLint、多包工程无循环依赖门禁。

命中需人工确认。脚本通过 ≠ 类型安全,它替代不了 vue-tsc 与 lint。目录模式下 C001 需要遍历全量文件,大仓约 5–10 秒,可用 --no-circular 跳过。

  1. 交付时给出:改了哪些文件、遵循/违反了哪条规约、三态与异常处理是否闭环、已知风险。评审输出按「级别 / 位置 / 违反条目 / 修法」四列。

不能破的底线

  1. 禁用 any(用 unknown + 收窄);API 请求与响应必须有显式类型。
  2. v-for 的 :key 必须是业务唯一 ID,永不用 index。
  3. 禁止在子组件改 props;双向绑定用 defineModel / update:modelValue。
  4. v-if 与 v-for 不同元素同用(先 computed 过滤)。
  5. 所有 Promise 有 catch;无依赖请求并行(Promise.all),切换场景取消在途请求(AbortController)。
  6. 提交类操作防重复:按钮 loading + 幂等键;金额用"分"整数计算。
  7. 大整数(订单号/雪花 ID)按 string 处理,禁止 Number()。
  8. 用户可控内容禁止 v-html(必须 DOMPurify);token 不放 localStorage;外链加 rel="noopener noreferrer"。
  9. 页面必须有加载态 / 空态 / 错误态,缺一视为未完成。
  10. 定时器、事件监听、WebSocket、Observer 必须在 onUnmounted 清理。
  11. 不许让检查器闭嘴:禁空 declare module、禁 *.vue shim、禁 proxy: any、禁无理由 @ts-ignore;TS 工程必须有 vue-tsc --noEmit 门禁。
  12. 不许留环:本地模块之间禁止循环依赖(含桶文件互引);跨包只从包入口导入,禁止 @scope/pkg/src/... 深路径。

反模式(见到就亮红灯)

  • 组件里直接 axios.get('/api/...'),绕过统一请求层
  • catch (e) { console.log(e) } 后用户看不到任何提示
  • watch(obj, fn, { deep: true }) 监听整个大对象
  • 一个 SFC 800 行,template 里塞满表达式和 v-if 分支
  • store 里既取数又存 UI 状态又做路由跳转
  • 用 sessionStorage 传对象做页面间通信
  • setTimeout 里改状态却没在卸载时清理
  • 表格前端全量拉取再本地分页(十万条)
  • declare module 'axios' / declare module '*.vue' / proxy: any —— 三条让 strict 归零的写法
  • lang="ts" 里还在用运行时 defineProps({...}),等于给 props 贴了个 any
  • Promise.reject('字符串'),catch 端 e.message 恒为 undefined
  • 拦截器错误分支写了 Promise.reject(error) 却忘了 return(错误被吞成 undefined)
  • API 层手写 Promise<TableDataInfo<T[]>>,声明与实现各说各话
  • new Promise((resolve) => { api().then(...) }) 给已有 Promise 再包一层
  • 桶文件 index.ts 与它的成员互相 import(barrel 环,见 C001)
  • import { x } from '@scope/ui/src/button' 绕过包 exports 契约
  • 每个页面各写一遍 roles.includes(...) 判权限,而不是走统一的 useAccess

参考文件索引

  • references/01-编程规约速查.md — 命名、常量、格式、TS 类型与类型逃逸、Vue 组件、日期、数组、异步、控制、注释、前后端、其他
  • references/02-接口契约与异常日志.md — 请求层、ApiError、错误码映射、全局兜底、日志埋点
  • references/03-状态与工程结构.md — Pinia、缓存、目录分层、依赖与构建
  • references/04-测试安全与设计.md — Vitest、安全、组件设计与可访问性
  • references/05-评审清单.md — 提交前逐项勾选(含类型门禁 P0 组)
  • references/06-若依工程范式与TS加固.md — 若依/RuoYi 骨架的类型化写法、迁移顺序、修复配方
  • references/07-工程化与规模化约定.md — 四层分层与依赖方向、包导出契约、别名三处同步、tsconfig 分档、请求层可配置契约、路由 meta 增强、权限三形态、门禁脚本化、测试与构建策略

来源与授权

  • 手册与规则:本技能的《前端开发手册(TypeScript + Vue)》为自撰,体例参照阿里巴巴《Java 开发手册(嵩山版)》的「维度 + 三级约束 + 说明/正例/反例」结构,不含其条文原文。
  • 参考工程:RuoYi-Vue3(MIT)、vue-vben-admin(MIT)的范式提炼,仅描述通用做法,不复制其源码。
  • 技能结构、工作流、自检脚本:MIT。
  • 源仓库:https://gitee.com/littlelichunhang-astronaut/file-material

常见问题

5 问
答案由本站依据条目字段整理
Vue3前端开发规约助手怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_df830f35/vue-ts-frontend-dev。安装方式为未标注。装完刷新技能列表或重开客户端。

Vue3前端开发规约助手支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Vue3前端开发规约助手权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Vue3前端开发规约助手收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Vue3前端开发规约助手用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。