此文档已弃用。请访问我们的最新文档:https://koishi.chat

网络服务 (Router)

TIP

Koishi 默认情况下并不会监听任何端口,如要启用网络服务请记得配置 options.port

ctx.router 是 Koishi 的内置服务,提供了一个基于 Koa Routeropen in new window 的简单路由系统,用于管理 Koishi 应用收到的网络请求。除了 Koa Router 所支持的方法外,Router API 还提供了一些额外的功能,例如支持接受 WebSocket 连接等。

实例方法

ctx.router[method](path, middleware)

  • method: 可以是 get, post, put, delete, patchall (注意 这里是小写)
  • path: string | RegExp | (string | RegExp)[] 路径
  • middleware: Function Koa 中间件

处理特定路径上的网络请求。具体请参见 这里open in new window

ctx.router.ws(path, handler)

在给定的路径上支持 WebSocket 连接。

副作用处理

我们在扩展了 Koa Router 的同时,对于其常用方法也支持了自动的副作用处理。当一个插件被卸载时,其上注册的路由也将同时被删除。不过在使用时也会有一些限制。部分方法会影响其他插件上下文或不支持副作用处理,因此请避免使用:

  • router.param()
  • router.prefix()