一个网站需要服务器吗柳江网站建设

张小明 2026/1/13 8:06:16
一个网站需要服务器吗,柳江网站建设,jupiter wordpress 汉化,湖南人文科技学院学费多少钱一年在VonaJS框架中#xff0c;AOP编程包括三方面#xff1a;控制器切面、内部切面和外部切面。控制器切面包括五能力#xff1a;Middleware、Guard、Interceptor、Pipe、Filter。其中#xff0c;Middleware又分为#xff1a;局部中间件、全局中间件和系统中间件。其时序图如下…在VonaJS框架中AOP编程包括三方面控制器切面、内部切面和外部切面。控制器切面包括五能力Middleware、Guard、Interceptor、Pipe、Filter。其中Middleware又分为局部中间件、全局中间件和系统中间件。其时序图如下所示aspect-controller由图可知系统中间件在路由匹配之前执行局部中间件和全局中间件在路由匹配之后执行。为了简化起见这里仅介绍全局中间件的用法局部中间件和系统中间件的用法请参见官方文档。创建中间件比如在模块 demo-student 中创建一个 全局中间件: logger1. Cli命令$ vona :create:bean middleware logger --moduledemo-student --boilerplatecli/middlewareGlobal/boilerplate2. 菜单命令右键菜单 - [模块路径]: Vona Aspect/Middleware Global中间件定义export interface IMiddlewareOptionsLogger extends IDecoratorMiddlewareOptionsGlobal {}MiddlewareIMiddlewareOptionsLogger({ global: true })export class MiddlewareLogger extends BeanBase implements IMiddlewareExecute {async execute(_options: IMiddlewareOptionsLogger, next: Next) {const timeBegin Date.now();const res await next();const timeEnd Date.now();console.log(time: , timeEnd - timeBegin);return res;}}IMiddlewareOptionsLogger: 定义中间件参数execute: 输出执行时长使用中间件与局部中间件不同系统会自动加载全局中间件并使其生效中间件参数可以为中间件定义参数通过参数更灵活的配置中间件逻辑比如为 logger 中间件定义prefix参数用于控制输出格式1. 定义参数类型export interface IMiddlewareOptionsLogger extends IDecoratorMiddlewareOptionsGlobal { prefix: string;}2. 提供参数缺省值MiddlewareIMiddlewareOptionsLogger({global: true, prefix: time,})3. 使用参数export interface IMiddlewareOptionsLogger extends IDecoratorMiddlewareOptionsGlobal {prefix: string;}MiddlewareIMiddlewareOptionsLogger({global: true,prefix: time,})class MiddlewareLogger {async execute(options: IMiddlewareOptionsLogger, next: Next) {const timeBegin Date.now();const res await next();const timeEnd Date.now();- console.log(time: , timeEnd - timeBegin); console.log(${options.prefix}: , timeEnd - timeBegin);return res;}}4. 使用时指定参数可以针对某个 API 单独指定全局中间件的参数 import { Aspect } from vona-module-a-aspect;class ControllerStudent {Web.get() Aspect.middlewareGlobal(demo-student:logger, { prefix: elapsed })async findMany() {}}在使用中间件时直接提供参数值即可5. App config配置可以在 App config 中配置中间件参数src/backend/config/config/config.ts// onionsconfig.onions {middleware: {demo-student:logger: {prefix: elapsed,},},};6. 参数优先级使用时指定参数 App config配置 参数缺省值中间件顺序由于全局中间件是默认加载并生效的所以VonaJS 提供了两个参数用于控制中间件的加载顺序1. dependencies比如系统有一个内置全局中间件a-core:gate我们希望加载顺序如下a-core:gate CurrentMiddleware({global: true, dependencies: a-core:gate,prefix: time,})class MiddlewareLogger {}2. dependentsdependents的顺序刚好与dependencies相反我们希望加载顺序如下Current a-core:gateMiddleware({global: true, dependents: a-core:gate,prefix: time,})class MiddlewareLogger {}中间件启用/禁用可以针对某些 API 控制全局中间件的启用/禁用1. Enable针对某个 API 禁用class ControllerStudent {Web.get() Aspect.middlewareGlobal(demo-student:logger, { enable: false })async findMany() {}}针对所有 API 禁用src/backend/config/config/config.ts// onionsconfig.onions {middleware: {demo-student:logger: { enable: false,},},};2. Meta可以让全局中间件在指定的运行环境生效名称 类型 说明flavor string|string[] 参见: 运行环境与Flavormode string|string[] 参见: 运行环境与FlavorinstanceName string|string[] 参见: 多实例/多租户host string|string[] 主机名举例Middleware({global: true, meta: { flavor: normal, mode: dev, instanceName: , host: localhost:7102, },})class MiddlewareLogger {}3. match/ignore可以针对指定的 API 启用/禁用全局中间件名称 类型 说明match string|regexp|(string|regexp)[] 针对哪些API启用ignore string|regexp|(string|regexp)[] 针对哪些API禁用查看当前生效的全局中间件清单可以直接在 Controller action 中输出当前生效的全局中间件清单class ControllerStudent {Web.get()async findMany() { this.bean.onion.middleware.inspect();}}this.bean.onion: 取得全局 Service 实例 onion.middleware: 取得与中间件相关的 Service 实例.inspect: 输出当前生效的全局中间件清单当访问findMany API 时会自动在控制台输出当前生效的全局中间件清单效果如下
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

加强图书馆网站建设短网址统计

第一章:Open-AutoGLM深度解析:5大关键技术让商户信息实时精准更新在数字化商业生态中,商户信息的实时性与准确性直接影响用户体验与平台可信度。Open-AutoGLM 作为新一代自动化语言模型驱动的信息更新引擎,通过融合多模态感知、动…

张小明 2026/1/10 9:30:23 网站建设

网站建设自适应网站免费做效果图的网站有哪些

PyTorch-CUDA-v2.9镜像是否包含torchvision?包含,开箱即用 在深度学习项目启动阶段,最让人头疼的往往不是模型设计,而是环境配置。明明代码写好了,却因为 torchvision 导入失败、CUDA 版本不匹配或依赖冲突卡住数小时—…

张小明 2026/1/10 4:18:05 网站建设

杭州市萧山区建设局网站成都建设公司网站

YOLO模型部署Serverless平台:按Token计费新模式 在智能视觉应用日益普及的今天,一个现实问题摆在开发者面前:如何用最低的成本,把高性能的目标检测模型快速推上线,并且能灵活应对流量波动?传统做法是租一台…

张小明 2026/1/10 9:30:26 网站建设

白云网站建设公一个完整的短视频策划方案

工具栏顶置在电子教学的屏幕录制领域,屏幕录制仿若东方仙盟的灵镜,将知识的乾坤万象清晰映照。而其中的粉笔标记,恰似仙盟高手以灵力勾勒的神秘符文,醒目且关键,能瞬间聚焦重点,引导学生目光如灵蝶追香&…

张小明 2026/1/12 15:39:15 网站建设

织梦网站0day漏洞以春天为主题的网站建设资源

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 nodejsnodejsVue基于express框架的网吧管理系统_网吧网咖…

张小明 2026/1/11 23:47:55 网站建设

南山网站设计线网络推广需要花多少钱

JPEGsnoop 终极使用指南:快速掌握图像解码技巧 【免费下载链接】JPEGsnoop JPEGsnoop: JPEG decoder and detailed analysis 项目地址: https://gitcode.com/gh_mirrors/jp/JPEGsnoop JPEGsnoop 是一款专业的 JPEG 图像解码和分析工具,能够深入解…

张小明 2026/1/10 9:30:27 网站建设