nestjs中的一些基本概念
AOP面向切片编程
面向切面的程序设计
IOC控制反转
控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)
DI依赖注入
生命周期
nestjs环境搭建
项目初始化使用 nest cli 直接搭建即可
nest cli 使用先安装
1npm install -g @nestjs/cli
使用命令新建项目
1nest new project-name
常用命令
1nest g <schematic> <name> [options]
Documentation | NestJS - A progressive Node.js framework
目录结构最佳实践可以参考nodepress这个项目的目录结构
环境变量使用@nestjs/config 来进行环境变量的加载,@nestjs/config 内部使用了 dotenv
先安装 cross-env
1pnpm install --save-dev cross-env
修改一下 package.json 脚本
安装@nestjs/config
1pnpm i @nestjs/config
在根目录创建 env 文件夹存放配置文件,一般都是一些 database 的定义
引入123456789101112131415161718192021222324 ...
socketio实现服务器推送(demo实现一个聊天室)
demo 演示地址:http://chat.lstmxx.cn
github 地址:https://github.com/Lstmxx/chatroom
前言服务端推送是一种服务器主动给客户端发送的技术,主要用于实时对客户端进行消息推送,如天气预报、聊天功能等。
HTTP 1.x在 websocket api 出现之前,由于 http1.x 的缺陷,导致通信只能由客户端发起,用户想要获取到实时数据变化,就要不停的向服务器发送请求,这种方法我们一般称为轮询。这种方法在 web 端可以一用,但是在移动端就不行了,想一想你的 app 不停的消耗你的流量发请求到服务器,这会导致用户流量的大量浪费,体现极其差。
1234567setInterval(() => { axios()then((res) => { ··· }).catch(err => { ··· })}, 3000)
HTTP 2.0为了解决这一问题,终于在 http2.0 协议里面增加了一个新特性——服务器推送。而 Html5 根据 ...