html5做服装网站营销型网站是什么意思

张小明 2026/1/11 18:26:16
html5做服装网站,营销型网站是什么意思,广告联盟接广告,长春做网站的公司文章目录1、安装创建项目脚手架运行应用程序快速生成 CRUD 模块2、核心文件简要概述3、控制器4、模块5、中间件6、守卫#xff08;Guard#xff09;—— 鉴权 / 权限7、拦截器#xff08;Interceptor#xff09;—— 响应包装 / 日志 / 缓存8、最简使用示例NestJS 基于 Exp…文章目录1、安装创建项目脚手架运行应用程序快速生成 CRUD 模块2、核心文件简要概述3、控制器4、模块5、中间件6、守卫Guard—— 鉴权 / 权限7、拦截器Interceptor—— 响应包装 / 日志 / 缓存8、最简使用示例NestJS 基于 Express、socket.io 封装的 nodejs 后端开发框架1、安装Node.js版本 ≥20推荐使用最新 LTS 版本包管理器npmNode.js 自带、yarn 或 pnpm创建项目脚手架npmi -g nestjs/cli nest new project-name运行应用程序npmrun start:dev快速生成CRUD模块nest g resource user生成一个基础的 CRUD 功能nest g moname# 生成 modulenest g coname# 生成 controllernest g sname# 生成 servicenest g guname# 生成 guardnest g piname# 生成 pipenest build# 生产编译nest start:prod# 生产运行2、核心文件简要概述文件描述app.controller.ts一个具有单个路由的基本控制器。app.controller.spec.ts控制器的单元测试。app.module.ts应用程序的根模块。app.service.ts一个具有单个方法的基本服务。main.ts应用程序的入口文件它使用核心函数NestFactory来创建 Nest 应用程序实例。3、控制器路由Controller()将指定一个可选的路径前缀这样我们就不需要为文件中的每个路由重复该路径部分。路由参数Get(:id)当需要接收动态数据作为请求的一部分时可以在路由路径中添加路由参数标记来捕获 URL 中的动态值。Param()用于修饰方法参数使得路由参数可以在方法内部通过该装饰参数的属性进行访问。路由通配符Get(abcd/*)路由路径abcd/*将匹配abcd/、abcd/123、abcd/abc等路径。在基于字符串的路径中连字符-和点号.会按字面意义解析。请求对象Req()需要访问客户端的请求详细信息时可以通过在处理程序签名中使用Req()装饰器来指示 Nest 注入请求对象。资源Get()、Post()、Put()、Delete()、Patch()、Options()以及Head()。此外All()可定义处理所有这些方法的端点。状态码HttpCode(...)响应的默认状态码通常为200但 POST 请求除外其默认状态码为201响应头Header(Cache-Control, no-store)重定向Redirect()接收两个可选参数url和statusCode。若省略statusCode其默认值为302Found。4、模块Module()装饰器采用单个对象其属性描述模块providers将由 Nest 注入器实例化并且至少可以在该模块中共享的提供程序controllers此模块中定义的必须实例化的控制器集imports导出此模块所需的提供程序的导入模块列表exports这个模块提供的 providers 的子集应该在导入这个模块的其他模块中可用。你可以使用提供器本身或仅使用其令牌provide 值每个模块自动成为共享模块。一旦创建它就可以被任何模块重复使用。假设我们想在多个其他模块之间共享CatsService的实例。为此我们首先需要通过将该提供者添加到模块的exports数组来导出CatsService如下所示import{Module}fromnestjs/common;import{CatsController}from./cats.controller;import{CatsService}from./cats.service;Module({controllers:[CatsController],providers:[CatsService],exports:[CatsService]})exportclassCatsModule{}5、中间件本质在请求到达控制器之前对req/res进行拦截、加工、终止或放行。接口必须实现NestMiddleware的use(req, res, next)方法。注册位置只能在模块类的configure(consumer: MiddlewareConsumer)方法里绑定可精细控制路由与HTTP 方法。示例import{Module,NestModule,RequestMethod,MiddlewareConsumer}fromnestjs/common;import{LoggerMiddleware}from./common/middleware/logger.middleware;import{CatsModule}from./cats/cats.module;Module({imports:[CatsModule],})exportclassAppModuleimplementsNestModule{configure(consumer:MiddlewareConsumer){consumer.apply(LoggerMiddleware).forRoutes({path:cats,method:RequestMethod.GET});}}警告使用express适配器时NestJS 应用默认会注册body-parser包中的json和urlencoded中间件。这意味着如果你想通过MiddlewareConsumer自定义该中间件就需要在使用NestFactory.create()创建应用时将bodyParser标志设为false来禁用全局中间件。6、守卫Guard—— 鉴权 / 权限必须实现CanActivate接口。示例简易 JWT 守卫伪代码Injectable()exportclassJwtAuthGuardimplementsCanActivate{canActivate(context:ExecutionContext):boolean{constrequestcontext.switchToHttp().getRequest();returnrequest.headers.authorizationBearer valid-token;}}使用方法/UseGuards(JwtAuthGuard)全局app.useGlobalGuards(new JwtAuthGuard())7、拦截器Interceptor—— 响应包装 / 日志 / 缓存实现NestInterceptor接口。示例统一包装响应格式Injectable()exportclassTransformInterceptorTimplementsNestInterceptorT,{data:T}{intercept(context:ExecutionContext,next:CallHandler){returnnext.handle().pipe(map(data({data})));}}全局注册app.useGlobalInterceptors(newTransformInterceptor())此后所有正常响应都会变成{data:...原始内容}8、最简使用示例1. 生成 cats 模块nest g resource cats# 交互选择 REST 不生成 CRUD → 回车即可目录结构自动生成src └── cats ├── cats.controller.ts ├── cats.module.ts └── cats.service.ts2. 代码编写cats.service.tsimport{Injectable}fromnestjs/common;Injectable()exportclassCatsService{privatereadonlycats[tom,garfield,mimi];findAll():string[]{returnthis.cats;}}cats.controller.tsimport{Controller,Get}fromnestjs/common;import{CatsService}from./cats.service;Controller(cats)exportclassCatsController{constructor(privatereadonlycatsService:CatsService){}Get()findAll(){return{data:this.catsService.findAll()};}}浏览器 / Postman 访问http://localhost:3000/cats返回{data:[tom,garfield,mimi]}3. 单元测试cats.controller.spec.ts放在src/cats/下import{Test,TestingModule}fromnestjs/testing;import{CatsController}from./cats.controller;import{CatsService}from./cats.service;describe(CatsController,(){letcontroller:CatsController;letservice:CatsService;beforeEach(async(){constmodule:TestingModuleawaitTest.createTestingModule({controllers:[CatsController],providers:[CatsService],}).compile();controllermodule.getCatsController(CatsController);servicemodule.getCatsService(CatsService);});it(should return cat array,(){jest.spyOn(service,findAll).mockReturnValue([mock-cat]);expect(controller.findAll()).toEqual({data:[mock-cat]});});});跑测试npmtestcats.controller.spec.ts
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

建设了网站怎么管理系统2020十大网络安全公司排名

Backtrader量化交易框架:从入门到精通的完整实战指南 【免费下载链接】backtrader 项目地址: https://gitcode.com/gh_mirrors/bac/backtrader Backtrader作为Python生态中最受欢迎的量化交易框架之一,以其强大的功能和灵活的架构赢得了全球交易…

张小明 2026/1/9 3:08:28 网站建设

开发网站需要时间做网站设计哪里有

重启 PHP-FPM(FastCGI Process Manager) 是 PHP Web 应用运维中的高频操作,常用于部署新代码、更新配置、释放内存、恢复服务。但“重启”并非简单 kill 进程,其背后涉及进程模型、信号处理、平滑过渡、服务可用性四大核心维度。一…

张小明 2026/1/9 3:08:27 网站建设

怎样给网站增加栏目客户资源管理系统

Excalidraw手绘风格背后的秘密:解析其基于Canvas的渲染机制 在如今这个远程协作常态化、敏捷开发深入人心的时代,可视化工具早已不再是设计师的专属武器。从产品需求评审到系统架构讨论,一张草图往往胜过千言万语。而在这股“一图胜千言”的…

张小明 2026/1/9 3:08:27 网站建设

安徽省建设信息网站模板网站开发定制

创业前需要了解哪些市场情况?春芽惠企总结以下几点↓市场调研是前提:先摸清赛道情况,看看同行竞品的优劣势,明确自身产品或服务的核心差异。精准捕捉目标客户的需求与痛点,才能在竞争中找到突围机会。选对公司类型&…

张小明 2026/1/9 3:08:29 网站建设

重庆 网站 建设 公司这样做网站推广

Wan2.2-T2V-A14B能否生成具有叙事弧线的三幕式短片? 在影视工业中,一个经典短片往往遵循“开端—冲突—结局”的三幕结构:主角登场、遭遇挑战、最终蜕变。这种叙事弧线不仅是人类故事讲述的基石,也正成为检验AI创作能力的试金石—…

张小明 2026/1/8 14:52:51 网站建设

教做宝宝衣服的网站注册域名的网站

macOS终极NTFS读写解决方案:免费实现跨平台文件传输 【免费下载链接】Free-NTFS-for-Mac Nigate,一款支持苹果芯片的Free NTFS for Mac小工具软件。NTFS R/W for macOS. Support Intel/Apple Silicon now. 项目地址: https://gitcode.com/gh_mirrors/f…

张小明 2026/1/8 22:03:57 网站建设