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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux 安装sftp及使用sftp上传和下载

一、centos7 安装sftp 1.安装 OpenSSH 服务: sudo yum install openssh-server2.启动 SSH 服务,并设置为开机启动: sudo systemctl start sshd sudo systemctl enable sshd3.创建一个新用户,用于SFTP连接(替换your_…

STM32理论 —— μCOS-Ⅲ(2/2):时间管理、消息队列、信号量、任务内嵌信号量/队列、事件标志、软件定时器

文章目录 9. 时间管理9.1 OSTimeDly()9.2 OSTimeDlyHMSM()9.3 OSTimeDlyResume()9.4 延时函数实验 10. 消息队列10.1 创建消息队列函数OSQCreate()10.2 发送消息到消息队列函数(写入队列)OSQPost()10.3 获取消息队列中的消息函数(读出队列)OSQPend()10.4 消息队列操作实验 11. …

【Unity】官方文档学习-光照系统

目录 1 前言 2 光照介绍 2.1 直接光与间接光 2.2 实时光照与烘焙光照 2.3 全局光照 3 光源 3.1 Directional Light 3.1.1 Color 3.1.2 Mode 3.1.3 Intensity 3.1.4 Indirect Multiplier 3.1.5 Shadow Type 3.1.6 Baked Shadow Angle 3.1.7 Realtime Shadows 3.1…

具有不确定性感知注意机制的肺结节分割和不确定区域预测| 文献速递-深度学习结合医疗影像疾病诊断与病灶分割

Title 题目 Lung Nodule Segmentation and UncertainRegion Prediction With an Uncertainty-Aware Attention Mechanism 具有不确定性感知注意机制的肺结节分割和不确定区域预测 01 文献速递介绍 肺结节分割在肺癌计算机辅助诊断(CAD)系统中至关重…

终结国企虚假贸易:监管闭环下的关系排查与风控增强

2024年5月28日,国务院正式公布《国有企业管理人员处分条例》(以下简称《条例》),将于2024年9月1日起施行。作为国家经济的重要支柱,国有企业的管理人员在企业运营中扮演着至关重要的角色,《条例》的颁布&am…

Sm4【国密4加密解密】

当我们开发金融、国企、政府信息系统时,不仅要符合网络安全的等保二级、等保三级,还要求符合国密的安全要求,等保测评已经实行很久了,而国密测评近两年才刚开始。那什么是密码/国密?什么是密评?本文就关于密…

Android低代码开发 - InputMenuPanelItem详解

我们知道MenuPanel是一个菜单面板容器,它里面可以放各式各样的菜单和菜单组。今天我们就来详细讲解输入菜单这个东西。 InputMenuPanelItem源码 package dora.widget.panel.menuimport android.content.Context import android.text.Editable import android.text…

Vue2/Vue3使用video播放视频--捕获截图

基本步骤 在JavaScript中&#xff0c;实现从<video>元素中截图的基本步骤如下&#xff1a; 1、创建Canvas元素&#xff1a;首先&#xff0c;需要创建一个<canvas>元素&#xff0c;因为截图操作会借助Canvas的绘图上下文来完成。 2、获取Video帧&#xff1a;从<v…

Elasticsearch-经纬度查询(8.x)

目录 一、开发环境 二、pom文件 三、ES配置文件 四、ES相关字段 五、ES半径查询 ES的字段类型:geo_point&#xff0c;可以实现以一个点为中心的半径查询(geo_distance query) ES地理位置查询: 半径查询(geo_distance query)查询指定矩形内的数据(geo_bounding_box query…

现代易货模式:重塑物品价值,引领交换新潮流

在日益繁荣的现代社会&#xff0c;物品交换文化正逐渐兴起&#xff0c;一种新型的交易模式——现代易货模式&#xff0c;正在成为市场的新宠。它不仅是对传统“以物易物”模式的现代化演绎&#xff0c;更是对物品价值再认识和交换方式创新的体现。 现代易货模式&#xff0c;简言…

【表单视图】-卡片视图支持统计设置

06/05 主要更新模块概览 统计设置 快捷回复 背景设置 帮助中心 01 表单管理 1.1 【表单视图】-卡片视图新增统计设置 说明&#xff1a; 在卡片视图中成功新增了统计功能和统计效果。现在&#xff0c;用户无需额外操作&#xff0c;即可在卡片视图状态下直接清晰地看到需求…

STM32开发过程中碰到的问题总结 - 1

文章目录 前言1. 怎么生成keil下可以使用的文件和gcc下编译使用的makefile2. STM32的时钟树3.怎么查看keil5下的编译工具链用的是哪个4. Arm编译工具链和GCC编译工具链有什么区别吗&#xff1f;5. 怎么查看Linux虚拟机是x86的还是aarch646. 怎么下载gcc-arm的编译工具链7.怎么修…

推挽与开漏输出

一般来说&#xff0c;微控制器的引脚都会有一个驱动电路&#xff0c;可以配置不同类型的数字和模拟电路接口。输出模式一般会有推挽与开漏输出。 推挽输出 推挽输出&#xff08;Push-Pull Output&#xff09;&#xff0c;故名思意能输出两种电平&#xff0c;一种是推&#xf…

天降流量于雀巢?元老品牌如何创新营销策略焕新生

大家最近有看到“南京阿姨手冲咖啡”的视频吗&#xff1f;三条雀巢速溶咖啡入杯&#xff0c;当面加水手冲&#xff0c;十元一份售出&#xff0c;如此朴实的售卖方式迅速在网络上走红。而面对这一波天降的热度&#xff0c;雀巢咖啡迅速做出了回应&#xff0c;品牌组特地去到了阿…

君子签帮助物流组织打造线上签约平台,助力简化成本,高效运转

各类物流组织日常业务可能涉及“企业入驻、快递、整车运输、货运、仓储、供应链等”多种类型&#xff0c;各个环节都存在大量的文件/单据签署&#xff0c;网点、客户、司机、收货人遍布全国各地&#xff0c;复杂的签署需求&#xff0c;以及庞大的签字、用印需求&#xff0c;让各…

2.6数据报与虚电路

数据报 当作为通信子网用户的端系统要发送一个报文时&#xff0c;在端系统中实现的高层协议先把报文拆成若干个带有序号的数据单元&#xff0c;并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)中间结点存储分组一段很短的时间&#xff0c;找到最佳的路由后&#x…

讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣

文档&#xff1a;https://www.xfyun.cn/doc/spark/PPTGeneration.html 价格方面提供了免费1000点的额度&#xff0c;生成一次是10点&#xff0c;正好100次&#xff0c;如果要购买的话最低要购买1344元的&#xff0c;没有按量付费的模式&#xff0c;个人小开发者可买不起。 让我…

无线网络与物联网技术[1]之近距离无线通信技术

无线网络与物联网技术 近距离无线通信技术WIFIWi-Fi的协议标准Wi-Fi的信道Wi-Fi技术的术语Wi-Fi的组网技术Ad-hoc模式无线接入点-APAP&#xff1a;FAT AP vs FIT AP Wi-Fi的特点与应用Wi-Fi的安全技术 Bluetooth蓝牙技术概论蓝牙的技术协议蓝牙的组网技术微微网piconet(了解)散…

安装操作系统1-Win10版本介绍及硬件要求

注意&#xff1a;安装系统&#xff0c;首先弄清有哪些版本及所需硬件环境。 1.Win10有哪些版本 微软将 Win10为以下7个版本&#xff1a; Windows 10 家庭版&#xff08;Home&#xff09; 面向所有普通用户&#xff0c;提供Win 10的基本功能。此版本适合个人家庭用户使用&am…

ATFX汇市:美国5月通胀率回落,降息预期刺激黄金走高

ATFX汇市&#xff1a;据美国劳工部发布的最新数据&#xff0c;美国5月核心CPI年率最新值3.4%&#xff0c;低于前值3.6%&#xff1b;名义CPI年率最新值3.3%&#xff0c;低于前值3.4%。核心CPI年率和名义CPI年率双双下降&#xff0c;超出此前市场预期&#xff08;预期为整体保持不…