运行时框架
Modern.js 的 BFF 支持不同的运行时框架,当前 Modern.js 的 BFF 支持两种运行时框架 Express.js 和 Koa.js。
使用不同运行时框架时,有部分 API 会存在差异。
获取请求上下文
在 BFF 函数中,有时需要获取请求上下文,来处理更多逻辑。此时,根据不同的运行时框架,你需要从通过不同的 API 来获取:
api/lambda/hello.ts
import { useContext } from '@modern-js/runtime/express'
export const get = async () => {
const { req } = useContext();
console.info(`access url: ${req.url}`);
return 'Hello Modern.js'
};
使用中间件
在 BFF 函数中,有时需要使用中间件,来处理更多逻辑。此时,根据不同的运行时框架,你需要从通过不同的 API 来获取:
api/_app.ts
import { hook } from '@modern-js/runtime/express';
export default hook(({ addMiddleware }) => {
addMiddleware((req, res, next) => {
req.query.id = 'koa';
next();
});
});