Nest-cli内容总结分享

前言


🤡一般我们使用框架开发创建项目的时候都使用脚手架来搭建项目,当然Nest也提供了对应的脚手架那就是Nest-cli,我们今天在《Nest通关秘籍》阅读的基础上来对这部分内容进行汇总一下。

一.Nest-cli命令总览


二.什么是Schema?


🫥Schema(模式):是用于描述数据结构、数据类型和数据关系的组织结构的概念,简单举个例子理解就是用来定义某种数据必须有某个字段,字段必须为某个类型,其实我们对这个东西使用的非常熟悉,比如我们在Vue对props传递的数据进行限制的方式就是Schema的方式。

js 复制代码
  props: {
    colorBar: {
      type: String, // 必须为string
      default: '#d72b18' // 默认为XXX
    },
  },

在Web开发中最常用的就是JSON Schema其实就是使用JSON格式对数据进行限制,如下,其余还有XML Schema等等。

json 复制代码
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "age": {
      "type": "integer"
    },
    "active": {
      "type": "boolean"
    }
  },
  "required": ["id", "username", "email"]
}

三.什么是controller-service-module-dto...


🤡Module(模块)是应用程序的基本组织单位,它封装了相关的功能和组件。每个模块都有自己的作用域,包含了控制器、服务、提供者等。模块可以帮助我们将应用程序的不同功能划分为独立的组件,以便更好地管理和组织代码。

🫥Controller(控制器)是处理HTTP请求和响应的组件。它包含了一系列的路由处理器(路由处理函数),用于处理特定的URL请求,并返回相应的HTTP响应。控制器负责接收请求、处理业务逻辑、调用相应的服务和返回响应。

🥱Service(服务)是处理业务逻辑的组件。它包含了应用程序的核心功能和业务规则的实现。服务被控制器调用,用于执行特定的任务和提供相应的功能。服务可以封装复杂的业务逻辑,并与数据库、外部服务等进行交互。

🐻DTO(数据传输对象)是用于在不同层之间传输数据的对象。DTO通常用于在控制器和服务之间传递数据,以及在服务和数据库之间传递数据。DTO可以在不同层之间定义数据的结构和约束,以确保数据的正确性和一致性。


💡Tips:在MVC架构中,模块的概念通常不是MVC架构的核心概念,Controller(控制器):在MVC架构中,控制器属于控制层(Controller Layer),Service(服务):在MVC架构中,服务通常属于模型层(Model Layer)

四.总结与扩展


😎在nest-cli这一章节基本涉及的问题就这么多,但是纸上得来终觉浅,绝知此事要躬行,还是要亲手试试看的,在服务端的架构模型是mvc我们来看下它各层的内容。

  1. Model(模型):代表应用程序的数据层。模型用于表示数据的结构、业务逻辑以及与数据相关的操作和操作。它负责处理数据的存储、读取、更新和删除,以及与数据相关的业务规则。
  2. View(视图):代表应用程序的用户界面。视图负责将模型中的数据可视化,并向用户展示。它负责呈现数据、接收用户输入,并将用户的操作传递给控制器。
  3. Controller(控制器):代表应用程序的控制逻辑。控制器负责接收用户的输入、处理业务逻辑,并根据需要更新模型和视图。它作为模型和视图之间的协调者,根据用户的操作调用适当的模型方法来更新数据,并选择适当的视图进行渲染。

🐻Nest-cli的相关内容就到这里啦,让我们再接再厉,共同进步~

相关推荐
abcefg_h9 分钟前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
AI多Agent协作实战派13 分钟前
AI多Agent协作系统实战(四十八):改个名,整个AI团队都不认识人了
后端
wei_shuo30 分钟前
KES 故障诊断与应急响应:问题排查、根因分析与应急预案
后端
LinMINGJing00730 分钟前
postgre分区方式
后端
王中阳Go36 分钟前
业务代码凭什么不能直接调 Agent?——我在律所 AI 项目里做的 Harness 运行时治理
人工智能·后端·程序员
SomeB1oody2 小时前
【RustyML入门】7.2. 深入模型持久化
开发语言·后端·机器学习·rust·教程
知几蜗牛2 小时前
0 后端 · 0 数据库 · 0 备案:用 AI 两天搓出的股票管理系统,开源了
前端·后端·llm
风流 少年2 小时前
Spring AI 2.0:阿里云百炼平台(工作流应用)
java·后端·spring
__zRainy__2 小时前
Node系列 · 数据库:单表查询
数据库·后端·mysql·node.js
诺伦2 小时前
Rust 错误处理实战:从 unwrap 到优雅 Result 的进阶之路
开发语言·后端·rust