开发工具包,为各个前端框架提供快速 & 好用的一体化能力
- 基于 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` 方法,用于自定义客户端 |