内置插件
全部内置插件的使用,包括 importType、aiDoc、swagger/knife4j/fastapi/yapi/apifox、rename、tagModifier 等
worma 内置了以下预设插件,可在 plugins 数组中按顺序配置使用。
| 插件 | 说明 | 文档 |
|---|---|---|
| template 插件 | alova / alovaGlobals / axios / fetch / ky 模板 | 预定义模板 |
| rename | 重命名 API 调用函数和参数名,支持多种命名风格 | 查看详情 |
| tagModifier | 修改 API 的 tag 名称 | 查看详情 |
| payloadModifier | 增加、删除和修改 API 的参数类型 | 查看详情 |
| apiFilter | 根据 URL 和 tag 匹配过滤 API | 查看详情 |
| swagger / knife4j / fastapi / yapi / apifox | 自动拼接或拉取各平台的 OpenAPI 文件地址(YApi 需 cookie,Apifox 需 projectId 与访问令牌) | 查看详情 |
| 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, apiFilter, apifox, importType,
alova, swagger
} from 'wormajs/plugin';
import { aiDoc } from 'wormajs/plugin';
export default defineConfig({
generator: [
{
plugins: [
swagger('https://petstore3.swagger.io'),
rename({ style: 'camelCase' }),
tagModifier(tag => `api_${tag}`),
payloadModifier([/* ... */]),
apiFilter({ include: '/api/v1' }),
importType({ 'my-types|type': ['Pagination'] }),
alova(),
aiDoc(),
],
},
],
});