Plop.js 代码生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/plopjs-code-generator。
技能介绍
解决什么:把重复脚手架变成确定性流程
写 React 项目时,新建组件、接口路由和对应测试文件的流程往往高度重复:改文件名、补 import、套目录结构,再手动复制样板。时间久了,团队里不同人产出的目录命名和文件头注释会逐渐漂移,新人 clone 仓库后也不知道该照着哪套约定来。
Plop.js 代码生成器要解决的问题,就是把这类「人肉复制粘贴 + 手动改名」变成一条确定性流程:所有脚手架产物由 plopfile 统一声明,模板集中在一处维护,生成结果可重复、可 review、可纳入 code review。
它怎么工作:plopfile + 模板 + action 三层组合
技能的核心工作方式可以拆成三层。
- 定义生成目标:
plopfile是一个 Node 模块,导出一个接收plop对象的函数。你在函数里声明要生成什么,例如 React 组件、API 路由、测试文件。 - 收集输入:生成前通过
inquirer弹出交互式 prompts,支持自定义校验逻辑,避免填入非法文件名、空字符串或不匹配的命名风格。 - 执行写入:通过 Handlebars 模板渲染文件内容,用自定义 action types 控制落盘方式。
addManyaction 可以在一次运行里批量生成一组文件,而不是单个文件逐个确认。
这意味着模板和校验规则可以放进仓库共享,团队新人本地执行一次就能得到结构一致的新模块。
适用边界与注意点
plopfile必须导出接受plop对象的函数,否则现有语法无法工作。- 模板语法依赖 Handlebars,更复杂的分支逻辑要写成模板 helper 或自定义 action。
addMany适合批量创建结构固定的文件集合,不适合需要逐项人工判断的混合场景。- 它解决的是「生成结构一致的初始文件」,不会替你决定目录划分、命名规范或组件设计是否合理——这些仍需先在仓库里约定清楚。
使用场景
- 维护 React 组件库时,需要为每个新组件一键生成组件文件、props 类型与测试文件。
- 编写后端 API 时,要按统一结构批量创建路由文件、接口测试和 mock 数据文件。
- 团队内部约定目录层级后,希望新成员提交代码前能生成与仓库一致的模块骨架。
- 通过 inquirer 收集模块名称后,需要校验输入并按 Handlebars 模板批量写出文件。
适合人员
- 维护 React 组件库的前端工程师,诉求是统一新组件的文件结构与命名。
- 构建 REST 或 BFF 服务的后端工程师,诉求是让 API 路由和测试文件成批落地。
- 负责仓库规范的团队负责人,诉求是把目录约定固化进可复用的脚手架脚本。
- 需要频繁新建功能模块的独立开发者,诉求是减少复制样板和手动改文件名的时间。