在 BFF 框架写法下,声明 API 路由的文件。除了某些约定文件外,lambda/ 目录下的文件会被注册为接口的路由。
使用 api 目录需要开启 BFF 功能,需要在项目下执行 new 命令启用「BFF」功能。
该文件支持使用 js 或 ts 语言,但必须使用 esm 语法导出函数。
路由系统会将以 index 命名的文件会被映射到上一层目录。
api/lambda/index.ts -> $BASENAME/api/lambda/user/index.ts -> $BASENAME/user路由系统也支持解析多级的文件,如果创建文件夹结构,文件仍会以相同方式自动解析路由。
api/lambda/hello.ts -> $BASENAME/helloapi/lambda/user/list.ts -> $BASENAME/user/list路由系统支持通过 [] 命名的文件目录生成动态路由。
api/lambda/user/[username]/info.ts -> $BASENAME/user/:username/infoapi/lambda/user/[username]/delete.ts -> $BASENAME/user/:username/deleteapi/lambda/article/[id]/info.ts -> $BASENAME/article/:id/info其中的 $BASENAME 可以在 modern.config.js 中进行配置,默认值为 /api。
默认 lambda 目录下所有文件都会当作 BFF 函数文件去解析,但同样我们也设置了白名单,这些文件不被被解析:
_ 开头的文件。例如:_utils.ts。_ 开头的文件夹下所有文件。例如:_utils/index.ts、_utils/cp.ts。foo.test.ts。hello.d.ts。node_module 下的文件。和函数写法下函数定义完全一致。