NestJS学习笔记

一、安装NestJS CLI工具

环境检查

//查看node版本
node -v//查看npm版本
npm -v

安装@nest/cli

使用npm全局安装@nestjs/cli

npm i -g @nestjs/cli

查看nest版本

nest -v

结果如图:

创建nest项目

//命令行创建nest项目
nest new 【项目名】

VScode扩展下载

1、ESLint

2、Prettier

3、vscode-icons

二、实践

1、创建项目

nest new [项目名]

使用VScode打开创建的项目

cd 【项目名】
code .

2、各文件功能介绍

1、.eslintrc.js文件

        Eastland是一个存在长时间的库,lynching可以帮我们创建 

2、.prettierrc文件

        定义格式化的配置

3、nest-cli.json文件

        添加或覆盖一些特定的配置

4、package.json

        在npm或yorn的项目中都能找到,关于节点项目的一些元数据,使用nest-cli运行的脚本或依赖等,当我们使用npm或yorn安装一个包到项目时,就会被添加到dependencies中

5、tsconfig.json

        告诉类型完整的编译器所有需要知道的关于如何编译项目、配置等信息

6、tsconfig.build.json

        扩展文件 

7、src文件夹

        实际代码所在

删除上图三个文件

一个模块可以被其他多个模块导入

NestJS的特点之一:允许我们生成原理图,即一个模块。一个模块就是一个原理图

NestJS在终端查看原理图

nest g

nest g命令执行报错,解决笔记见:

nest : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\nest.ps1,因为在此系统上禁止运行脚本。-CSDN博客

如图所示,问题已经解决,但是,并没有原理图展示,因为没有指定原理图

使用nest g --help可以查看可用原理图列表

nest g --help

//提供模块名字,查看原理图
nest g module tasks

执行上述命令

创建一个新的子文件夹,tasks

app.module.ts文件更新

再次运行项目,确保无误。

Controllers

负责处理传入的请求并将相应返回给客户端,会绑定一个特殊的路径。

包含处理程序,这些处理程序将处理端点和某些请求方法,比如get、post、delete等

控制器可以利用依赖性注入的优势,在同一模块中消费供应商或服务

如何定义一个控制器?

通过装饰一个类来实现,该装饰器接受一个字符串,即是控制器的处理路径。

@Controller('/tasks')
export class TasksController {// ....
}

如何在控制器中找到一个处理程序?

在控制器类中有一些简单方法,用装饰器进行装饰,如@get、@post、@delete等,等代表他们的处理方法

@Controller('/tasks')
export class TasksController {@Get()getAllTasks() {return ...;}@Post()createTask() {return ...;}
}

创建一个控制器

//不需要规格文件
nest g controller tasks --no-spec

Providers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程登录新建会话

在做远程登录会话建立的时候有时候会忘记顺便就记录了,方便后期回顾

没有登录微信就不会截图了?这个方法你一定要学会

前言 前段时间小白在指导小伙伴的时候,发现他在电脑没有登录微信的时候就不会截图了。 这个可就难倒他了…… 所以他登录了个微信,然后截了张图,接着把微信退出了。这人可真是谨慎啊~ 所以,小伙伴在使用电脑的时候…

JWT工具【工具类】

一、JWT JSON Web Token (JWT)是一个开放标准(RFC 7519),定义了一种紧凑且自包含的方式,以JSON对象的形式在各方之间安全地传输信息。这种信息可以被验证和信任,因为它是数字签名的。具体来说,JWT是一种用…

科技赋能,避震婴儿车或成为行业硬通货

全球知识经济发展发展到今天,消费者对于品质、服务、体验的要求越来越高,与之对应的产品也就越来越科技化、智能化、个性化,品牌化和差异化逐步成为产品的竞争核心。 婴儿推车作为关系婴幼儿出行安全的支柱性产业之一,从车架结构…

graalvm编译springboot3 native应用

云原生时代容器先行,为了更好的拥抱云原生,spring boot3之后,推出了graalvm编译boot项目,利用jvm的AOT( Ahead Of Time )运行前编译技术,可以将javay源码直接构建成机器码二进制的文件&#xff…

泰坦尼克号数据集机器学习实战教程

泰坦尼克号数据集是一个公开可获取的数据集,源自1912年沉没的RMS泰坦尼克号事件。这个数据集被广泛用于教育和研究,特别是作为机器学习和数据分析的经典案例。数据集记录了船上乘客的一些信息,以及他们是否在灾难中幸存下来。以下是数据集中主…

嵌入式实训day3

1、 planet_list["水星","金星","火星","木星"] print(planet_list)planet_list.insert(2,"地球") print(planet_list)planet_list.append("土星") planet_list.append("天王星") planet_list.append(&…

MultiTrust:首个综合统一的多模态信任度基准(上)

随着我们迈向人工通用智能(AGI)的时代,出现了开创性的大语言模型(LLMs)。凭借它们强大的语言理解和推理能力,已经无缝地将其他模态(例如视觉)整合到LLMs中,以理解不同的输…

SSRF学习,刷题

[HNCTF 2022 WEEK2]ez_ssrf 给了一个Apache2的界面,翻译一下 就是一个默认的界面,目录扫描 可以看到flag.php,肯定是不能直接访问得到的,还有index.php,访问这个 可以看到三个参数data,host,port 还有fsockopen() 函数是 PHP 中用于打开一个…

排名前五的 Android 数据恢复软件

正在寻找数据恢复软件来从 Android 设备恢复数据?本指南将为您提供 5 款最佳 Android 数据恢复软件。浏览这些软件,然后选择您喜欢的一款来恢复 Android 数据。 ndroid 设备上的数据丢失可能是一种令人沮丧的经历,无论是由于意外删除、系统崩…

HTML静态网页成品作业(HTML+CSS)—— 非遗皮影戏介绍网页(6个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有6个页面。 二、作品演示 三、代…

智慧工地:构筑未来建筑的智能脉络

在科技日新月异的今天,智慧城市的建设已不再局限于城市生活的方方面面,而是深入到了城市发展的每一个细胞——工地。本文旨在深度剖析智慧工地的核心价值、关键技术及对建筑业转型升级的深远影响。 一、智慧工地:定义与愿景 智慧工地是指运…

探囊取物之渐变背景登录页面(基于ElementUI)

低配置云服务器,首次加载速度较慢,请耐心等候 预览页面:http://www.daelui.com/#/tigerlair/saas/preview/lxbupnc9dg5q 演练页面:http://www.daelui.com/#/tigerlair/saas/practice/lxbupnc9dg5q

MYSQL六、存储引擎的认识

一、存储引擎 1、MySQL体系结构 连接层:最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为…

visio绘制直线

1、右键打开绘图工具 2、选择线条 3、画直线、画横线

Apache Pulsar 从入门到精通

一、快速入门 Pulsar 是一个分布式发布-订阅消息平台,具有非常灵活的消息模型和直观的客户端 API。 最初由 Yahoo 开发,在 2016 年开源,并于2018年9月毕业成为 Apache 基金会的顶级项目。Pulsar 已经在 Yahoo 的生产环境使用了三年多&#…

C++ 10 之 引用

c10引用.cpp #include <iostream>using namespace std;int main() {// 引用的语法&#xff1a;类型 &别名 原名// int a 10;// int &b a; // 此时a,b指向同一块内存// cout << "a: " << a << endl;// cout << "b: &…

【高校科研前沿】北京大学赵鹏军教授团队在Nature Communications发文:揭示城市人群移动的空间方向性

文章简介 论文名称&#xff1a;Unravelling the spatial directionality of urban mobility 第一作者及单位&#xff1a;赵鹏军&#xff08;教授|第一作者|北京大学&#xff09;&王浩&#xff08;博士生|共同一作|北京大学&#xff09;; 通讯作者及单位&#xff1a;赵鹏军…

微服务 | Springboot整合Dubbo+Nacos实现RPC调用

官网&#xff1a;Apache Dubbo 随着互联网技术的飞速发展&#xff0c;越来越多的企业和开发者开始关注微服务架构。微服务架构可以将一个大型的应用拆分成多个独立、可扩展、可维护的小型服务&#xff0c;每个服务负责实现应用的一部分功能。这种架构方式可以提高开发效率&…

MAVEN-SNAPSHOT和RELEASE

一、快照版本SNAPSHOT和发布版本RELEASE区别 快照版本SNAPSHOT和发布版本RELEASE区别-CSDN博客 在使⽤maven过程中&#xff0c;我们在开发阶段经常性的会有很多公共库处于不稳定状态&#xff0c;随时需要修改并发布&#xff0c;可能⼀天就要发布⼀次&#xff0c;遇到bug时&am…