wevu-best-practices
wevu-best-practices
用途
在小程序运行时里用 wevu 写出边界清晰、更新可控、契约明确的页面、组件和 store。
何时使用
- 用户问
wevu页面或组件应该怎么写。 - 用户问生命周期、hook 时序或 setup 约束。
- 用户问 props / emit / 双向绑定 / store。
- 用户问
setPageLayout、useNativeRouter或wevu/router。 - 用户问 AI 应如何保持 wevu 代码和模板约定一致。
- 用户反馈卡顿、掉帧、页面切换慢、白屏、内存告警,且问题主轴在
wevu运行时状态、渲染或副作用管理。
不适用场景
本 skill 聚焦运行时行为和状态/事件契约。
- 构建配置和分包:使用
weapp-vite-best-practices。 .vue模板和宏:使用weapp-vite-vue-sfc-best-practices。- 原生迁移:使用
native-to-weapp-vite-wevu-migration。
核心流程
- 运行时 API 从
wevu导入,页面和组件边界明确;选项式data若存在,保持函数形式。 - 生命周期和 hook 必须在同步
setup()中注册,不要在await之后注册。 - 响应式更新优先
ref/reactive/computed,避免大对象和不透明状态写入;模板状态要可序列化。 - 事件和双向绑定遵循小程序语义:
- 事件走
emit - 通用字段优先
bindModel/useBindModel - parser / formatter 语义明确
- 事件走
- layout 与 router 要分清:
- 运行时 layout 变化走
setPageLayout/usePageLayout - 区分原生 router helpers 与
wevu/router
- 运行时 layout 变化走
- 性能问题先分层:
setData路径:是否高频整对象回写、是否启用autoSetDataPick- render 路径:是否把重逻辑放进
onPageScroll - navigation 路径:
onHide/onUnload是否阻塞 - resource / memory:图片尺寸、缓存、监听与定时器是否清理
- store 以小 domain 为先,解构 state/getters 用
storeToRefs,避免巨大跨页 store。 - 写法同时对照项目根
AGENTS.md和本地dist/docs/wevu-authoring.md。
约束
- 不要在
await后注册 hooks。 - 不要直接解构 store 丢失响应性。
- 不要返回不可序列化原生实例到模板状态。
- 不要把浏览器 Vue 行为当成 wevu 默认行为。
- 不要在没有基线时同时修改性能、运行时和业务逻辑三类变量。
输出
应用本 skill 时,输出必须包含:
- 运行时风险摘要。
- 文件级改动建议。
- 相对 Vue Web runtime 的兼容说明。
- 最小验证命令。
完成标记
- API 导入来自
wevu。 - 页面 / 组件边界清晰。
- hook 注册时序正确。
- layout、router、store 选择有明确理由。
- 与项目
AGENTS.md约定一致。
参考资料
references/component-patterns.mdreferences/store-patterns.mdreferences/troubleshooting-checks.mdreferences/runtime-perf-matrix.mdreferences/tuning-recipes.md
More from sonofmagic/skills
weapp-tailwindcss
帮助用户在 uni-app、taro、uni-app x 与原生小程序项目中接入和排障 weapp-tailwindcss。Use when 用户提到 weapp-tailwindcss、小程序 Tailwind 不生效、rpx 任意值、JS 字符串 class、space-y/space-x、weapp-tw patch、content/@source、twMerge/cva/tv。
127weapp-vite-best-practices
面向采用 weapp-vite 项目布局仓库或已安装 `weapp-vite` 依赖项目的工程化实践手册,覆盖 `vite.config.ts` 的 `weapp` 配置、自动路由、routeRules/layout、自动导入组件、分包、npm、多平台、受管 TypeScript、`prepare`、`forwardConsole`、`mcp`、`screenshot/compare/ide logs`、Web runtime、lib mode、worker、`dist/docs`、脚手架 `AGENTS.md`、AI skills 安装,以及与 `weapp-ide-cli` 的命令治理和透传边界。
68weapp-vite-vue-sfc-best-practices
面向使用 weapp-vite 的小程序项目的 Vue SFC 实践手册,覆盖 `<script setup lang="ts">`、JSON 宏、`definePageMeta`/layout、`defineModel`、`usingComponents`、模板指令兼容、`.weapp-vite` 类型支持文件、受管 `prepare` 工作流,以及和脚手架 `AGENTS.md` / 本地 `dist/docs` 对齐的当前 SFC 约定。
58docs-and-website-sync
面向采用 weapp-vite monorepo 布局仓库的文档、website 与 skills 同步工作流。适用于代码能力已变化但 website/docs/README/skills/AI 指南/packaged docs 可能过期的场景,尤其覆盖 `weapp` 配置页、`dist/docs`、`AGENTS.md` 模板、AI skills 安装、`prepare`、MCP、`forwardConsole`、`screenshot/compare/ide logs`、Web runtime、lib mode、多平台与 routeRules/layout 等入口同步。
43playwright-cli
Automate browser interactions, test web pages and work with Playwright tests.
41native-to-weapp-vite-wevu-migration
面向将原生小程序迁移到 `weapp-vite + wevu + Vue SFC` 的结构化迁移工作流,覆盖分波次推进、行为等价改造、`Page/Component` 到 `.vue`、props/events 类型化、`definePageMeta`/layout、平台守卫、`.weapp-vite` 支持文件、自动路由与 AI 工作流对齐,以及迁移后的截图/日志/e2e 验证与回滚检查点。
40