首页 > 其他分享 >使用nestjs和react快速搭建项目架子

使用nestjs和react快速搭建项目架子

时间:2024-01-10 13:57:22浏览次数:36  
标签:容器 prisma postgresql 数据库 react nestjs docker 搭建

首先搭建前后端的项目架子

搭建nestjs架子

npx @nestjs/cli new 项目名

使用vite搭建一个react+ts的架子,vite地址:https://cn.vitejs.dev/guide/。搭建好后cd到项目中,然后安装依赖,尝试启动。

npm create vite@latest 项目名 -- --template react-ts

数据库使用postgresql,使用docker直接部署好数据库环境,windows可以下载docker的桌面版,需要开启windows的虚拟化来支持docker。下载地址:https://docs.docker.com/desktop/install/windows-install/。下载安装好后,下载postgresql的镜像(postgres,可以用cmd指令下载也可以使用docker desktop图形化界面搜索下载),然后使用下载好的镜像实例化成容器,cmd命令如下(也可以使用图形化界面)。解释一下下面的指令docker run是启动一个容器;name是启动容器的名称;e是环境,这里的POSTGRES_PASSWORD是给postgresql数据库设置的密码;p是容器运行的端口,有两个端口是将宿主机上的端口映射到容器上的端口,这样我们在外部可以通过5432端口访问到容器内部运行的postgresql数据库;d就是容器的镜像模板。

docker run --name 容器名 -e POSTGRES_PASSWORD=数据库密码 -p 5432:5432 -d postgres

这里在nestjs中使用prisma完成和数据库的增删改查操作(教程地址:https://www.prisma.io/blog/nestjs-prisma-rest-api-7D056s1BmOL0)。

先在postgresql中新建一个数据库,可以使用可视化工具Navicat Premium创建,也可以在容器中使用指令创建。我这里使用可视化工具创建比较简便。在nestjs中下载prisma并初始化。

npm install -D prisma
npx prisma init

npx命令会运行prisma依赖,然后在根目录下面生成了一个prisma文件夹,里面还有一个schema.prisma文件,这个文件就是prisma连接数据库的配置文件。可以看到datasource db里面有个连接数据的url,需要用到环境变量中的DATABASE_URL,因此需要在根目录下创建一个.env文件,里面创建连接数据库完整的url连接。url连接如下,刚才创建容器的时候没有声明数据库用户名,postgresql默认的用户名是postgres。

DATABASE_URL="postgres://用户名:用户密码@localhost:5432/数据库名"

接下来就是在schema.prisma文件中定义我们的数据库中每张表的模型。

创建好表模型后生成迁移文件,在prisma/migrations下可以查看,然后sql文件在数据库执行,命令如下。name是为本次迁移命名。最后prisma会根据我们设计好的表模型生成prisma-client客户端,用来执行SQL,第一次会自动下载生成,后续修改数据库的表结构会自动更新,不过比较慢可能会等一会才生效。

npx prisma migrate dev --name "init"

这样前后端项目架子和数据库都搭建好了,接下只需要完善项目的内容就可以了。

标签:容器,prisma,postgresql,数据库,react,nestjs,docker,搭建
From: https://www.cnblogs.com/panglinglong/p/17899563.html

相关文章

  • GPU环境搭建(TrWebOCR)
    查看显卡信息lspci| grep -invidia查看系统是否受支持uname -m http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements验证是否有编译环境gcc-v验证系统是否安装了正......
  • 源码开发实践:搭建企业培训APP的技术难题及解决方案
    在企业培训源码开发实践中,各位开发者可能遇到各种各样的问题,本文将深入探讨这些挑战,并提供解决方案,助力你顺利搭建企业培训APP。 1.多平台兼容性企业中员工使用的设备多种多样,包括iOS、Android等不同操作系统。在搭建培训APP时,如何实现多平台兼容性成为一项首要任务。解决方案是采......
  • docker搭建Grafana+Loki+Promtail日志分析
    环境搭建Grafana搭建dockersearchgrafanadockerpullgrafana/grafanadockerrun-d-p3000:3000--namegrafanagrafana/grafanaLoki搭建创建宿主机目录mkdir-p/usr/local/glp/loki/indexmkdir-p/usr/local/glp/loki/chunkschmod-R777/usr/local/glp/loki/index......
  • 使用 WordPress搭建个人博客
    安装LNMP下载LNMP:wgethttp://soft.vpser.net/lnmp/lnmp2.0.tar.gz-cOlnmp2.0.tar.gz解压并执行:tarzxflnmp2.0.tar.gz&&cdlnmp1.5&&./install.shlnmp选择想要安装的版本然后回车开始安装时间比较长,耐心等待一下,看到以下显示表示安装成功配置nigix查看nginx配置文......
  • erlang开发环境搭建(Intellij IDEA)
    Erlang没有专用的IDE,是借助其他IDE使用插件进行编码。老牌编译器Eclipse下载erlide插件配置runtime后,导入即可实现保存编译等功能,但受限于操作系统版本、Eclipse版本,并且erlide插件已不再维护,只适配到Eclipse4.10,且早期版本功能受限,不支持arm处理器,更主要的是交互较差,新人适应需要......
  • 3个搭建英语网站的技巧,独立站建站系统
    在当今数字化时代,拥有一个专业且具有吸引力的英语网站对于个人、企业或机构而言至关重要。然而,搭建一个成功的英语网站并非易事,需要细致入微的计划和技巧。在本文中,我们将探讨三个关键技巧,以及如何运用独立站建站系统,为您的英语网站打下坚实基础。1.精心策划:构建内容丰富的英语网......
  • 6个在React中使用的小技巧
    这是一个可怕的问题,在React中,我们经常会编写条件语句来显示不同的视图,比如这个简单的例子。constApp=()=>{return(<>{loading?<Loading/>:<List>}</>)}但是,当项目的代码量足够大并且有很多JSX条件时,事情很快就会失控。代码......
  • DreadHunger恐惧饥荒海上狼人杀服务器搭建架设教程windows系统
    DreadHunger恐惧饥荒海上狼人杀服务器搭建架设教程windows系统大家好我是艾西,在11月底我有发文DreadHunger恐惧饥荒海上狼人杀官方停服的消息,当时在官方的公告模版中公布了在2024年一月一日会将服务端公开让喜欢玩这个游戏的玩家能够继续的快乐其中。经过漫长的等待DreadHunger工作......
  • Flask Web框架的使用-虚拟环境搭建
    FlaskWeb框架的使用-Flas框架的使用一、前言二、引言三、安装虚拟环境1.安装Virtualen2.创建虚拟环境3.激活虚拟环境一、前言个人主页:ζ小菜鸡大家好我是ζ小菜鸡,让我们一起来学习FlaskWeb框架的使用-虚拟环境搭建如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)二、引......
  • uni-app+vue3+ts项目搭建完整流程
    项目代码同步更新至码云uni-vue3-ts-template开发前准备利用uni-app开发,有两种方法:通过HBuilderX创建(需安装HBuilderX编辑器)通过命令行创建(需安装NodeJS环境),推荐使用vscode编辑器这里我们使用第2种方法,这两种方法官方都有详细介绍点击查看官方文档vscode安......