一步步搭建基于 ts + express + prisma + mongodb + zod 后端服务

环境: windows11、node 18.16.0 、pnpm

1、在合适位置,代开 vscode , 终端执行 mkdir miaooo-backend && cd miaooo-backend && npm init -y
创建一个名为一个 miaooo-backend 的项目,并且进入项目 执行 npm 默认初始化。
在这里插入图片描述
2、安装基础工具包:
pnpm add express
pnpm add typescript ts-node nodemon @types/node @types/express -D
在这里插入图片描述
3、新建 src 目录。 src目录下新建 app.tsconfigutilsmiddleware
在这里插入图片描述

4、执行 git init , 并创建 .gitignore 文件,
https://www.toptal.com/developers/gitignore 中,搜索适用于node的 .gitignore 配置

在这里插入图片描述
创建后复制到 .gitignore 文件中, 并在 .gitignore 开头加入 build。(后面我们将ts编译的文件放到build目录下)
在这里插入图片描述

在终端将代码推送到仓库当中。这里你可以随意选择github、gitee 等,作为仓库托管。
5、在 middleware 下创建 bootstrap.ts 并添加如下代码。用于引导 express 初始化启动。


import { Express } from 'express'

const bootstrap = (app: Express) => {

  app.use('/', (req, res) => {
    res.send('hello express')
  })
  app.listen(3000, () => {
    console.log('Server ready at localhost:3000');
  })
}

export default bootstrap

在 app.ts 文件中, 创建 express 实例,并执行 bootstrap。
在这里插入图片描述

6、在 package.json 中,添加 scripts 命令如下:
"dev": "nodemon src/app.ts"

在终端执行 pnpm run dev, 打开浏览器正常访问
在这里插入图片描述
7、项目根目录下终端执行 tsc --init, 创建 tsconfig.json 文件
找到 outDir, 设置为 './build', 表示 ts 编译后生成并存放 build 目录下。
在这里插入图片描述

再次修改 package.json 中的 scripts 命令如下:


  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon src/app.ts",
    "build":"tsc",
    "start": "npm run build && node build/app.js"
  },

在这里插入图片描述
终端执行 npm run build 顺利生成 build 目录在这里插入图片描述
8、 添加其他工具包
执行 pnpm add express-rate-limit 使用 express-rate-limit 来实现请求限流
在这里插入图片描述
执行 pnpm add cors 安装 cors, 来实现跨域请求。
安装类型文件包 pnpm add @types/cors -D
在这里插入图片描述
9、安装prisma
pnpm add prisma -D
安装完毕执行 pnpx prisma init, 会在自动创建一个 prisma 目录 和 .env 文件。默认连接 postgresql
在 .env 文件里可以配置数据库的地址
在这里插入图片描述
10、本地启动 mongodb, 并将 .env 中的数据库地址改为本地的 mongodb 地址:
在这里插入图片描述
修改 schema.prisma
更改 db 为 mongodb
简单定义一个 User 模型。
在这里插入图片描述
11、pnpm add @prisma/client 添加 prisma 客户端。
每次 schema.prisma 中新增或者变动 model 时,都需要执行 prisma db push , 来 重新生成 prisma.client

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值