Modern.js 将大部分项目需要的服务端能力都进行了封装,通常项目无需进行服务端开发。但在有些开发场景下,例如用户鉴权、请求预处理、添加页面渲染骨架等,项目仍需要对服务端进行定制。
项目目录下创建 server/modern.server.ts
文件,可以在这个文件中添加如下配置来扩展 Server:
中间件(Middleware)
渲染中间件(RenderMiddleware)
服务端插件(Plugin)
其中 Plugin 中可以定义 Middleware 与 RenderMiddleware。 中间件加载流程如下图所示:
defineServerConfig
类型定义如下:
Middleware 支持在 Modern.js 服务的请求处理与页面路由的流程前后,执行自定义逻辑。
即自定义逻辑既要处理接口路由,也要作用于页面路由,那么 Middleware 是不二选择。如果仅需要处理 BFF 接口路由,可以通过配置 path
为 BFF 的 prefix
来实现。
BFF 场景只有运行时框架为 Hono 时,BFF 路由才会经过 Middleware。
必须执行 next
函数才会执行后续的 Middleware。
如果只需要处理页面渲染的前后执行逻辑,modern.js 也提供了渲染中间件。
Modern.js 支持在自定义插件中为 Server 添加上述 Middleware 及 RenderMiddleware。