(@halsp/mva)
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);
}
}