获取/src/pages/
底下的所有页面,并且根据import
语法获取这些页面中使用到的接口(/src/services/
里export
的接口)并暴露到umi
中
- 添加依赖包
npm install umi-plugin-page-request
- 配置文件的
plugin
里加入umi-plugin-page-request
...
plugin: ['umi-plugin-page-request']
...
目录结构
src
|- pages
|- index.tsx
|- services
|- demo
|- demo.ts
|- index.ts
/** src/pages/index.tsx */
import { demoRequest } from '@/services/demo'
export default function Index() {
return <></>
}
/** src/services/demo/index.ts */
export * from './demo'
/** src/services/demo/demo.ts */
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max'
/** xxx POST /api/path/url */
export async function demoRequest(body: API.xxx) {
return request<API.Response>('/api/path/url', {
method: 'POST',
data: body,
})
}
使用时仅需在umi
中导入PAGE_REQUEST_MAP
即可
import { PAGE_REQUEST_MAP } from 'umi' // 获取页面与接口的映射
console.log(PAGE_REQUEST_MAP) // {"index.tsx": [{ "name": "demoRequest", "method":"POST", "url":"/api/path/url" }]}