SuperAPI AI 工具集

module-scaffolding

编程与开发

查看项目

更新于 10-15 21:41

技能介绍

用途:在 AdonisJS monorepo 中新增功能模块。每个功能位于 app/<mod>/ 下,作为自包含模块;项目没有自动加载器,preload、导入别名、迁移路径、tsconfig include 和事件监听挂载都需显式接线,漏掉任一项模块就无法加载、迁移不执行或事件类型检查失败。

主要能力:优先使用生成器 node ace make:module <mod>,它会创建骨架并幂等地注入所有接线点。可选参数:--db 添加 database/migrations/ 并在 config/database.ts 注册路径;--i18n 添加 resources/lang/{en,fr,pt}/<mod>.json 并注册 i18n 加载器;--events 添加 start/events.ts 与 types/events.ts、preload 事件,并把 types/** glob 加入核心 tsconfig。始终接线的内容包括 #<mod>/* 别名、#<mod>/routes preload 和 ui/** tsconfig include。运行后执行 pnpm dev 重新生成路由/页面类型,再运行 pnpm typecheck。

使用方式:手动接线时,在 apps/web/package.json 的 imports 添加 "#<mod>/": "./app/<mod>/.js";在 apps/web/adonisrc.ts 的 preloads 至少加入 () => import('#<mod>/routes'),有事件加 #<mod>/start/events,有 edge 模板加 #<mod>/start/view;迁移与 seeder 路径追加到 apps/web/config/database.ts;有 ui/ 或 types/events.ts 时在 apps/web/app/core/ui/tsconfig.json 的 include 添加对应 glob;有 UI 文案时创建三种语言的 JSON。routes.ts 是唯一必需文件。删除模块时按相反顺序清理接线再删目录。

适用场景与限制:适用于该 AdonisJS monorepo 的模块化开发。反模式包括假设存在自动加载器、加迁移却不改 config/database.ts、加 types/events.ts 却不加 types/** glob、别名重叠、复制模块后未更新内部别名引用、创建 routes.ts 却不 preload。具体命令与路径以资料为准,其他环境细节暂未提供。