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

news/2024/10/17 14:31:24/

环境: 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


http://www.ppmy.cn/news/349545.html

相关文章

景深原理

转自http://gordon125.blog.163.com/blog/static/95255632007510113156714/ 首先,我们现在物体的准焦距离是≈0.75m ,如果光圈值定在f /22时,最近有效拍摄距离的物体清晰距离为0.4m,而最远的有效拍摄距离的物体清晰距离为无穷远&a…

景深

先介绍几个概念: 1、焦点(focus) 与光轴平行的光线射入凸透镜时,理想的镜头应该是所有的光线聚集在一点后,再以锥状的扩散开来,这个聚集所有光线的一点,就叫做焦点。 2、弥散圆(circle of confusion) 在焦点前后&am…

景深计算公式的推导[转]

里为了推导AF模块或对焦屏的安装(调整)位置精度而引用了容许弥散圆的概念。 后来又很不自觉的跑到了景深问题。 但偷偷放在那里似乎也不合适,专门开一个主题。砸就砸吧 如图所示,对焦点物距为u,对应的像距为v 按照传统…

计算图像的景深

在 上一篇 博客中,景深与视差成反比,其公式为: 为焦距, 为左右相机的距离,分别为两张图像的点距离各自中心点的距离。 对于左图像的每一个像素点 ,求图像景深可以分为以下几步, 在右图中&…

工业相机的景深计算

对于景深有特殊要求的场合,工业相机和镜头选型时就需要计算景深是否满足要求。景深跟相机跟镜头都有关系,需要搭配起来计算。 一,景深计算 二,容许弥散圆直径 容许弥散圆的计算公式:CoC d / 1730,d为CCD芯…

景深概念以及景深的计算公式

在了解景深的概念时,用图文结合的方式更容易理解,那么我们先来了解几个相关的概念: 1、焦点(focus) 与光轴平行的光线射入凸透镜时,理想的镜头应该是所有的光线聚集在一点后,再以锥状的扩散开来,这个聚集…

景深计算公式的推导

转自:http://blog.itpub.net/15452932/viewspace-441255/ 如图所示,对焦点物距为u,对应的像距为v 按照传统的景深定义,物距为u1的点光源聚焦点在胶平面后面的像距v1处,并在胶平面上形成半径为σ的弥散圆时&#xff0…

机器视觉硬件(焦距和景深的计算)

样本:一金属件上圆形焊点,半径约为8mm,高度在3mm以内。 采集:固定相机、光源,利用步进电机带动载物台沿Z轴方向移动,采集载物台上样本的序列图像。 要求:利用聚焦恢复深度技术(SFF)重建焊点 整…