• 作者:老汪软件技巧
  • 发表时间:2024-08-30 15:01
  • 浏览量:

1. 前言

上篇以账房为例解释了后端的本质,现在进入到代码部分,看看如何使用 NestJS 创建一个项目。

先来看个小故事,从感性角度继续理解流程:

有一天,邢捕头来同福客栈吃饭,看了看菜单,想要点个鱼香肉丝。佟掌柜就去安排下去了,白展堂把消息告诉了李大嘴,大嘴看了看食材库存还够,就开始忙活了,这边刀功飞快,又是热锅冷油……只听呲啦呲啦,片刻之间,白展堂就把菜端了上来,这往桌上一摆,邢捕头拿起筷子就大口吃了起来。顷间,吕秀才已经做好了账面记录,随后撕了一张票据给老邢。

记住这个故事,往下看:

如果从 B端、C端角度:

2. 创建项目

现在使用 Nest 创建一个项目。

2.1 安装

$ npm i -g @nestjs/cli

2.2 初始化项目

# $ nest new [name]
$ nest new cook-api-1

cook-api-1 就是这个 Nest 项目的名字,随便起。

2.3 启动项目

$ cd cook-api-1
$ npm install
$ npm run start:dev

NestJS ‍ 厨子必修课(二):项目创建_NestJS ‍ 厨子必修课(二):项目创建_

访问 :3000/ 可以看到 Hello World! 的画面。

2.4 打包构建

$ npm run build

运行以上命令即可完成项目打包构建,并在项目目录下生成一个 dist 目录。

2.5 运行生产环境代码

有了 dist 产物,执行以下命令即可运行打包后的项目,这也是上线后的运行效果。

$ npm run start:prod

⚠️注意:在 package.json 中的这条脚本命令是:"start:prod": "node dist/main" ,这表示说运行的入口文件是 dist 下的 main.js,如果是接入 prisma 等 ORM 工具,打包后的目录结构有所不同,这里是需要修改的。

3. 约定大于配置

Nest 提供了一种“约定大于配置”的架构形式,它的意义在于减少配置,让开发者在规定区域编写代码,减轻开发压力和心智负担。

在 src 目录下有以下文件:

继续往下看可以发现每一组资源都对应了这三种文件,它们各自约好了在其中应该写什么内容,而不是自己去配置、去封装。就好像感冒了不会去吃咳嗽药一样。

4. 总结

这篇博客以武林外传的故事串联起整个业务流程,另外还介绍了如何使用 NestJS 去创建和构建并运行一个项目,以及 NestJS 中的 src 文件构成。