当前位置: 首页> 财经> 产业 > 手机制作动画软件app免费_网络营销是什么活动_百度官网推广平台_seo sem什么意思

手机制作动画软件app免费_网络营销是什么活动_百度官网推广平台_seo sem什么意思

时间:2025/7/11 0:38:11来源:https://blog.csdn.net/qq_42027681/article/details/145729753 浏览次数:0次
手机制作动画软件app免费_网络营销是什么活动_百度官网推广平台_seo sem什么意思

搭建后端服务

  • 搭建服务
    • 拆分下用户服务
  • 增加公共库
    • 通用模块
  • 运行一下
  • 接入数据库
    • 安装Prisma
      • 增加prisma库
    • redis
      • 增加redis服务

搭建服务

使用nestjs来做 这里是nestjs的网站Nestjs

安装 nest

npm i -g @nestjs/cli

创建一个项目 并在开发工具打开

nest new todo

nest new xx 是新建一个项目
会让你选择包管理工具,我用的是pnpm

拆分下用户服务

在根目录下执行

nest g app user

这个时候 就拆分成了两个服务,方便分开维护,用户服务只负责用户的登录注册以及用户信息查询。

增加公共库

两个服务会有一些公共的依赖模块,比如数据库,装饰品,工具等等。这个时候需要抽离出来。

通用模块

主要存放一些 拦截器,装饰器,工具方法等,项目小,不再拆分模块,一般公用的都塞到一个里面。 当然也可以多拆分几个,装饰器丢到装饰器模块,拦截器都丢到拦截器模块。

nest g lib common

执行后一路回车。
此时目录结构为这样
在这里插入图片描述

运行一下

控制台执行

npm run start:dev todo

在这里插入图片描述
在apps/todo/src/main.ts可以看到port是3000,当然可以修改为你想要的。然后在浏览器中访问http://localhost:3000,显示了Hello World!。这里是调用了get请求,在apps/todo/src/app.controller.ts可以看到。
在这里插入图片描述

到这里一个简单的后端服务就搭建完成了。

接入数据库

接入数据库,用的mysql。mysql搭建教程有很多,这里不在阐述。

安装Prisma

这里的数据库管理工具使用Prisma。

npm install prisma --save-dev

初始化

npx prisma init

执行完成后 目录结构如下

在这里插入图片描述
点击.env 修改连接地址 如果是本地的mysql则为localhost否则修改为ip地址

DATABASE_URL="mysql://root:你的密码@localhost:3306/todo"

然后修改prisma/schema.prisma的数据库为mysql

datasource db {provider = "mysql"url      = env("DATABASE_URL")
}

如果你用的是vscode/cursor 可以安装下prisma的插件,有代码高亮会舒服很多,插件直接搜索prisma最多下载的就是。
在这里插入图片描述
我这里直接忽略了密码登录,如果需要 可以加个 password string

model User {id          String      @id @default(uuid())username    String  @uniqueemail       String?  @uniquewxId    String?  @uniquecreatedAt   DateTime @default(now())updatedAt   DateTime @updatedAt@@index([username], name: "username_idx")@@index([email], name: "email_idx")@@index([wxId], name: "wxId_idx")
}

重置下数据库

npx prisma migrate reset 

生成下数据表

npx prisma migrate dev --name user

npx prisma migrate dev --name user 是一个 Prisma CLI 命令,用于在开发环境中创建和应用新的数据库迁移。以下是这个命令的具体含义和作用:
含义和作用
创建新的迁移: 该命令会根据当前的 Prisma schema 文件生成一个新的迁移文件。迁移文件包含了将数据库结构从上一个状态更改到当前状态所需的 SQL 语句。
2. 应用迁移: 在生成迁移文件后,migrate dev 会立即将该迁移应用到数据库中。这意味着数据库结构会更新以匹配最新的 Prisma schema。
3. 命名迁移: --name user 参数为生成的迁移文件指定一个名称。在迁移文件夹中,迁移文件会以时间戳和指定名称命名,例如 20231010123456_user,以便于识别和管理。
适用于开发环境: 该命令主要用于开发环境,以便在开发过程中快速迭代数据库模型。

在这里插入图片描述
在这里插入图片描述

增加prisma库

nest g lib prisma

修改prisma.service.ts

import { Injectable, OnModuleInit } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {constructor() {super({log: [{emit: 'stdout',level: 'query'},{emit: 'stdout',level: 'error'}]})}async onModuleInit() {await this.$connect();}
}

当模块初始化完成时连接数据库,log是打印。

redis

npm install redis --save-dev

新建一个库模块

nest g lib redis

在 redis.module.ts中 增加redis连接代码

import { Global, Module } from '@nestjs/common';
import { createClient } from 'redis';
import { RedisService } from './redis.service';@Global()
@Module({providers: [RedisService,{provide: 'REDIS_CLIENT',async useFactory(configService: ConfigService) {const config =  {url: 'redis://localhost:6379',password: 'xxx',};const client = createClient(config);await client.connect();return client;},},],exports: [RedisService],
})
export class RedisModule {}

增加redis服务

在redis.service.ts中

import { Inject, Injectable } from '@nestjs/common';
import { RedisClientType } from 'redis';@Injectable()
export class RedisService {@Inject('REDIS_CLIENT')private redisClient: RedisClientType;async keys(pattern: string) {return await this.redisClient.keys(pattern);}async get(key: string) {return await this.redisClient.get(key);}async set(key: string, value: string | number, ttl?: number) {await this.redisClient.set(key, value);if (ttl) {await this.redisClient.expire(key, ttl);}}async del(key: string) {await this.redisClient.del(key);}
}

当前代码地址 code

关键字:手机制作动画软件app免费_网络营销是什么活动_百度官网推广平台_seo sem什么意思

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: