william.chan's blog

done is better than perfect

Nest providers 4种类别

使用多种 provider,灵活注入对象

providers Nest 实现了 IoC 容器,会从入口模块开始扫描,分析 Module 之间的引用关系,对象之间的依赖关系, 自动把 provider 注入到目标对象 什么是provider 被 @Injectable() 修饰的 class 在 @Module() 的 providers 中声明 示例 AppService 1.useClass 上面...

Nest项目断点调试

查看代码整个执行路线 - 作用域,调用栈 - 通过单步执行查看变量变化

在 VSCode 里边写代码边调试 最方便调试 nest 项目的方式 VSCode 实现了 Debugger 客户端 创建 .vscode/launch.json 文件 然后,输入node快速创建一个 node 调试配置 stopOnEntry 是在首行断住,和 –inspect-brk 一样的效果。 调试过程中修改了代码,点击重新调试,可以马上看到改动之...

IoC 解决了什么问题?

IoC 使开发者免去手动创建和组装对象的麻烦,改成声明依赖,让工具自动创建组装对象

nestjs 中有很多对象 Controller 对象,接收 http 请求,调用 service,返回响应 Service 对象,实现业务逻辑 Repository 对象,实现对数据库的增删改查 数据库连接对象 DataSource 配置对象 Config 对象间关系复杂 Controller 依赖 Service 实现业务逻辑 Service 依赖...

5种 HTTP 数据传输方式

给接口传递参数的5种方式

url param - 路径中参数 将参数写在 url 中 1 2 3 4 /users/:id # /users/1 query string 通过 url 中 ?,后面的用 & 分隔的字符串传递数据 1 2 3 /users?name=cwy007&age=34 query-string form-urlencoded 直接用 form 表单提...

nest 命令

@nestjs/cli 工具使用方法

@nest/cli 工程化 nest new 创建项目 nest g 生成代码 nest build 编译构建 nest watch 开发时 live-reload nest info 查看项目信息 直接 npx 执行,npm 会把它下载下来,然后,执行 1 npx @nestjs/cli new 项目名 推荐:安装到全局,然后,执行 1 2 3 4 5 ...

一张后端架构图

学习各种后端中间件

后端中间件 mysql redis RabbitMQ Nacos ElasticSearch … 设计模式 nestjs 中用到的适配器设计模式 Nest 内构建复杂对象很多地方都用到了 builder 的设计模式 设计模式之美 113 - todo nestjs 概念图解 请求一般会传递json数据,通过 dto - data tran...

命令行

命令行常用的指令

根据端口查询运行的程序PID 1 2 3 4 lsof -i :5173 kill -9 xxxx

cool website

frontend https://browserify.org/

2.Vim 的键描述体例 + Vim 的选项和配置 + 光标移动 + 文本修改

Vim 的键描述体例 <Esc> 表示 Esc 键;显示为“⎋” <CR 表示回车键;显示为“↩” <Space> 表示空格键;显示为“␣” <Tab> 表示 Tab 键;显示为“⇥” <BS 表示退格键;显示为“⌫” <Del> 表示删除键;显示为“⌦” <lt> 表示 < 键...

1.vim + vimtutor + vim中文文档

安装homebrew 对于很多 Vim 的命令,我们是需要形成“肌肉记忆”的 要多看、多练,熟能生巧 学 Vim 学到的东西不会过时 有一颗勇于探索的心,愿意花点力气把手里的“武器”打造得更为好用、称心 修改 ~/.zprofile 1 2 3 4 5 6 7 8 9 10 11 12 13 # 这段代码的作用是 修改系统的 PATH 环境变量,确保 ~...