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的相关内容就到这里啦,让我们再接再厉,共同进步~

相关推荐
程序员海军7 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
码士集团小青7 小时前
SpringBoot 集成缓存性能之王 Caffeine
spring boot·后端·缓存
excel9 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
Json____9 小时前
用 FastAPI + Vue3 打造一套完整的在线考试系统:从组卷到阅卷的业务闭环实践
后端·node.js·fastapi·it学习·wwwoop.com
小灰灰搞电子10 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
专业程序开发源11 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
卷无止境11 小时前
面向arm64桌面客户端开发全景:语言、框架与生态
后端·python
IT_陈寒12 小时前
JavaScript的闭包陷阱,这个坑我躺了三天才爬出来
前端·人工智能·后端
用户83562907805112 小时前
如何使用 Python 对 Excel 数据进行分组和分级显示
后端·python
vx_Biye_Design12 小时前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express