1.0 版

Midway Hooks 的路由机制是文件路由,我们会根据 目录/文件/导出的方法 来分析出路由配置。同时我们也提供了相应的配置选项。

默认配置

文件路由系统的解析机制是可配置的,下面是一体化项目中默认的配置。

f.yml

  1. functionsRule:
  2. rules:
  3. - baseDir: lambda
  4. events:
  5. http:
  6. basePath: /api

字段解释

  • rules: 具体函数路由配置规则
    • baseDir: 函数文件夹,文件夹下任意 .ts 文件导出的异步函数都会生成为 Api 接口
    • events: 函数触发器配置
      • http
        • basePath: 生成的 API 地址前缀
        • underscore: 0.x 兼容逻辑,默认为 false,添加后将在具名路由的生成时,在方法名前添加下划线

Index 路由

我们会将目录下 index.ts 文件,作为根路由。

  • /lambda/index.ts/
  • /lambda/about/index.ts/about

嵌套路由

嵌套的文件也将生成嵌套的路由

  • /lambda/about.ts/about
  • /lambda/blog/index.ts/blog
  • /lambda/about/contact.ts/about/contact

导出方法与对应路由

默认导出的方法则会生成为根路径,而具名方法则会在路径上拼接函数名。

在此以 /lambda/about.ts 为例

  • export default () => {}/about
  • export function contact ()/about/contact

通配路由

Midway Hooks 支持通过文件名生成通配符路由,例如:/api/* ,可以匹配 /api、/api/about、/api/about/a/b/c 等。只需要在文件名上加入 ... 即可。

例子:

  • /lambda/[...index].ts/api/*
  • /lambda/[...user].ts/api/user/*
  • /lambda/about/[...contact].ts/api/about/contact/*

:::info 我们推荐在通配路由中,只存在 export default 方法,从而避免不必要的路由冲突 :::