内置插件
全部内置插件的使用,包括 importType、aiDoc、platform、rename、tagModifier 等
worma 内置了以下预设插件,可在 plugins 数组中按顺序配置使用。
| 插件 | 说明 | 文档 |
|---|---|---|
| template 插件 | alova / alovaGlobals / axios / fetch / ky 模板 | 预定义模板 |
| rename | 重命名 API 调用函数和参数名,支持多种命名风格 | 查看详情 |
| tagModifier | 修改 API 的 tag 名称 | 查看详情 |
| payloadModifier | 增加、删除和修改 API 的参数类型 | 查看详情 |
| filterApi | 根据 URL 和 tag 匹配过滤 API | 查看详情 |
| apifox | 自动导入 Apifox 中的项目 | 查看详情 |
| platform | 自动拼接 Swagger / Knife4j / FastAPI / YApi 的 OpenAPI 文件地址 | 查看详情 |
| importType | 复用外部类型,排除自动生成 | 查看详情 |
| aiDoc | 生成 AI Skill 文档 | 详见 AI Skills 集成 |
模板插件
预定义的五套模板(alova、alovaGlobals、axios、fetch、ky)现在以插件方式提供。每个模板插件通过 getTemplate hook 返回模板路径:
import { defineConfig } from 'wormajs';
import { alova, alovaGlobals, axios, fetch, ky } from 'wormajs/plugin';
export default defineConfig({
generator: [
{
// 使用 alova functional 模板
plugins: [alova({ framework: 'vue' })],
},
],
});详细用法参考预定义模板。
插件排序
插件将按照在 plugins 数组中的顺序依次执行:
import { defineConfig } from 'wormajs';
import {
rename, tagModifier, payloadModifier, filterApi, apifox, importType,
alova, platform
} from 'wormajs/plugin';
import { aiDoc } from 'wormajs/plugin';
export default defineConfig({
generator: [
{
plugins: [
platform('swagger'),
rename({ style: 'camelCase' }),
tagModifier(tag => `api_${tag}`),
payloadModifier([/* ... */]),
filterApi({ include: '/api/v1' }),
importType({ 'my-types|type': ['Pagination'] }),
alova(),
aiDoc(),
],
},
],
});