淘宝导购网站模版为什么自己做的网站别的电脑打不开

张小明 2026/1/14 18:47:21
淘宝导购网站模版,为什么自己做的网站别的电脑打不开,织梦网站栏目是做什么用的,基层建设期刊网站文章目录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进行投诉反馈,一经查实,立即删除!

高端人才做兼职的招聘网站有哪些th7 wordpress 汉化

文章目录摘要描述题解答案(直觉方法)题解代码(Swift 可运行 Demo)题解代码分析为什么要用“负数标记”?为什么需要用 abs(nums[i])?第二轮遍历为什么能找到缺失值?示例测试及结果示例 1示例 2时…

张小明 2026/1/13 22:08:41 网站建设

免费做微信请帖的网站腾讯云服务器1元

网络工具脚本开发与应用 1. 系统可用性监控 在IT管理中,维护系统的可用性是至关重要的工作。可以使用 ping 命令来监控指定系统是否可用,若系统不可用则发出警报。 1.1 ping 命令介绍 ping 命令利用互联网控制和消息协议(ICMP)来判断远程系统是否可用,在Linux和W…

张小明 2026/1/10 6:41:49 网站建设

邢台做网站的公司哪家好?创建网站怎么创

5步快速解决Intel RealSense Viewer启动失败问题:新手必备的终极修复指南 【免费下载链接】librealsense Intel RealSense™ SDK 项目地址: https://gitcode.com/GitHub_Trending/li/librealsense 当你在Windows系统中遇到Intel RealSense Viewer启动失败时&…

张小明 2026/1/9 19:30:17 网站建设

seo站长综合查询创网保

青龙面板:5大实用功能打造终极自动化任务平台 【免费下载链接】qinglong 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript) 项目地址…

张小明 2026/1/10 6:45:37 网站建设

网站建设的税率是多少网站被k的怎么办

FastDFS Java客户端终极指南:轻松实现分布式文件存储 【免费下载链接】FastDFS_Client Java Client for FastDFS 项目地址: https://gitcode.com/gh_mirrors/fa/FastDFS_Client 想要在Java应用中快速集成高性能的分布式文件存储功能吗?FastDFS Ja…

张小明 2026/1/10 6:46:51 网站建设

学校网站开发系统的背景推广方案经典范文

2025 年 11 月 22 日 - 25 日,创客匠人主办的 “2025 全球创始人 IPAI 万人高峰论坛” 在厦门海峡大剧院落下帷幕。本次峰会以 “IP 重构信任,AI 引领未来” 为核心主题,汇聚超万名创始人、行业领袖及媒体代表,深度探讨 AI 技术对…

张小明 2026/1/10 7:45:50 网站建设