开发工具包,为各个前端框架提供快速 & 好用的一体化能力
- 基于 Vite,上层框架无感
- 统一脚手架
start: 启动生产服务--port=[3000]应用监听端口--host=[localhost]应用监听地址
dev: 启动开发服务
| import { superjson } from '@midwayjs/hooks' | |
| export class ValidationError extends Error { | |
| constructor (message) { | |
| super(message) | |
| } | |
| } | |
| superjson.registerClass(ValidationError) |
| export default defineConfig({ | |
| routes: [{ | |
| baseDir: 'api', | |
| }] | |
| }) |
| import { app } from '@midwayjs/hooks-testing-library' | |
| // 自定义 Conext | |
| /** | |
| * 需求 | |
| * 1. 匿名 Context(与请求无关) | |
| * 2. 在函数运行时,支持自定义 Context | |
| * | |
| * 参考 |
| // 默认情况 | |
| // /lambda/article/[id].ts | |
| export default async (id: string) => { | |
| return id | |
| } | |
| export const content = (id: string) => { | |
| // id = req.params.id = 路径 | |
| return id | |
| } |
| import { | |
| FileType | |
| } from '@midwayjs/hooks' | |
| export default async ( | |
| $header, // HTTP Header, Object 类型 | |
| $query, // HTTP Query,Object 类型 | |
| $param, // HTTP Param,Object 类型 | |
| $file: FileType // File,特定类型 | |
| ) => { |
| import { | |
| useApiClientMatcher, | |
| createApiClientMatcher, | |
| ProjectConfig | |
| } from '@midwayjs/hooks-core' | |
| import { request } from '@midwayjs/hooks/request' | |
| interface ApiMetadata { | |
| file: string | |
| method: string |
| interface ProtocolClient {} | |
| interface ProtocolAdapter {} | |
| interface ProtocolLifeCycle {} | |
| interface ProtocolBuilder { | |
| client: ProtocolClient; | |
| adapter: ProtocolAdapter; |
| /** | |
| * [RFC] Hooks Http 客户端 | |
| * | |
| * @author Lxxyx | |
| * @version 1.0.0 | |
| * | |
| * 特性说明: | |
| * 1. 支持 `Decorate` 语法,自动生成 Query/Params/Headers 参数 | |
| * 2. 新增请求中间件 | |
| * 3. 新增 `setupHttpClient` 方法,用于自定义客户端 |