MVA 框架 (@halsp/mva)
安装 @halsp/mva 以支持 MVA 功能
@halsp/mva 基于 @halsp/router ,@halsp/view
@halsp/mva 可以将路由返回结果,与模板自动对应并渲染返回
安装
npm i @halsp/mva
简单使用
在入口文件中
import "@halsp/mva";
startup.useMva();
参考 @halsp/router 在根目录中(ts 项目为 src 目录)添加以下文件夹:
- 路由文件夹
actions,并编写action - 视图文件夹
views,并编写相应视图模板
配置参数
useMvc 接收一个可选配置参数
- viewOptions: 与
useView参数相同 - routerOptions: 与
useRouter参数相同 - codes: 指定状态码对应的模板,一般用于展示错误页面
过滤器
基于 @halsp/filter,提供了 ResultFilter 过滤器
在渲染视图之前会执行 onResultExecuting,如果函数返回 false 将终止剩余 ResultFilter 过滤器执行,并取消渲染视图
在渲染视图之后执行 onResultExecuted,可用于统一返回视图结果
创建过滤器
新建一个类并实现 ResultFilter 接口
import { ResultFilter } from "@halsp/mva";
class TestFilter implements ResultFilter {
onResultExecuted(ctx: Context): void | Promise<void> {
ctx.res.setHeader("result2", 2);
}
onResultExecuting(
ctx: Context
): boolean | void | Promise<void> | Promise<boolean> {
ctx.res.setHeader("result1", 1);
}
}
