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

张小明 2026/1/8 6:07:01
一个网站需要服务器吗,柳江网站建设,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进行投诉反馈,一经查实,立即删除!

惠州市网站建设兰州最好的网站建设公司

A5E01649325 是西门子工业通讯系列的扩展模块,专为工业自动化系统的通讯接口扩容与协议扩展设计,以 “多接口扩展 协议兼容” 为核心亮点,广泛应用于大型自动化生产线、智能工厂、分布式控制系统等场景,是解决通讯接口不足或协议…

张小明 2026/1/7 14:15:57 网站建设

做电脑网站用什么软件有哪些辽宁工程建设信息网站

macOS百度网盘加速终极指南:3种方法告别限速烦恼 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘限速而烦恼吗?m…

张小明 2026/1/7 16:56:58 网站建设

没有网站的域名php值班系统 wordpress

JavaScript 中的单例模式:利用闭包、IIFE 或 ES Modules 实现线程安全的单例在软件工程中,单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这种模式在需要严格控制资源访问、维护全…

张小明 2026/1/7 12:51:34 网站建设

wordpress 子域名 函数wordpress 自动seo插件

每天重复点击菜单、在标签页间来回切换、执行无数次的复制粘贴操作,这些看似微小的动作正在悄悄消耗你的工作效率。你是否计算过,仅仅为了完成一个简单的文档编辑,你的手指需要在键盘和鼠标间切换多少次?现在,是时候打…

张小明 2026/1/7 18:49:10 网站建设

营销型企业网站特点网站建设文字内容

从研究到落地:TensorRT助力大模型商业化变现 在当今AI驱动的商业环境中,一个训练得再出色的模型,如果无法在毫秒级响应用户请求,那它可能只是一份漂亮的论文附录。现实很残酷——性能即成本,延迟即体验。尤其是在搜索排…

张小明 2026/1/8 8:37:56 网站建设

网站未授权cas要怎么做设计制作幻灯片母版的菜单是

陀螺仪MPU6050、MPU6500姿态解算。 软件滤波,四元素。 工程是GD32F303芯片的。 c语言文件,可以移植stm32等任意平台。 带freertos系统。 输出pitch,roll,yaw最近在GD32F303上折腾MPU6050姿态解算,踩了不少坑总算把三轴…

张小明 2026/1/8 13:17:28 网站建设