hook
用于在 BFF 函数写法下添加框架中间件,添加的中间件的执行会在 BFF 函数定义的路由之前。
使用姿势
根据使用的框架拓展插件,从对应的命名空间中导出:
import { hook } from '@modern-js/runtime/{namespace}';
函数签名
type HookOptions = {
addMiddleware: string | function;
};
function hook(options: HookOptions): void;
参数
options
: Modern.js 提供的一系列钩子。
addMiddleware
: 添加 BFF 中间件的钩子。
示例
使用不同的框架,应添加不同框架的中间件(示例为使用 koa 框架时):
api/_app.ts
import { hook } from '@modern-js/runtime/koa';
export default hook(({ addMiddleware }) => {
addMiddleware(async (ctx, next) => {
ctx.req.query.id = 'koa';
await next();
});
});