nestjs搭建连接mysql简易后端

本文介绍了如何使用NestJS框架和MySQL搭建后端服务。通过NestJS的模块、控制器和服务进行项目结构划分,讲解了如何配置数据库连接,创建控制器以处理HTTP请求,并使用服务层进行数据库操作。示例展示了如何创建基本接口及参数类型,强调了在模块中注册组件的重要性。
摘要由CSDN通过智能技术生成

介绍

本文参考了nestjs官方文档

在使用了用nodejs搭建的koaexpress框架后发现使用前端的语法也可以搭建一个不错的后端,而现在又逐渐趋势于用typescript来开发,就发现了nestjs可以很好的支持typescript并进行一个工程化的开发。

新建

在开始之前,可以使用nest的脚手架来快速搭建一个nest项目。(确保Node.js(>=10.13.0,v13除外))

npm i -g @nestjs/cli
nest new project-name #project-name为项目名,会在当前目录下新建一个nestjs项目

创建时会让你选择用什么作为包管理工具,这里默认使用npm。

start

等待完成后就可以进入到项目中使用npm run start来运行项目了。(也可以使用npm run start:dev来运行启动热更新。)

文件介绍

项目创建后,自动在src生成了一下文件:

app.controller.ts

app.controller.spec.ts

app.module.ts

app.service.ts

main.ts

main.ts作为项目入口文件,默认监听了3000端口,并将AppModule进行了挂载。根据nestjs自动生成的这些文件就可以大概了解一个nestjs项目应该如何书写。

main.ts

module

因为在main.ts的入口文件中引入了AppModule,所以首先我们先看module文件。

module

根据上图可以看到先前的AppControllerAppService文件都是经过AppModule模块,这里就涉及nestjs很重要的概念,ControllersProviders,这就像后端很经典的MVC架构,将控制层和服务层分层进行,将所有对数据库的操作都放在Providers(但不是所有的Providers都是用于操作数据库)中,将要返回前端的数据逻辑都在Controllers中进行,而Module主要为了管理控制层和服务层,有可能一个接口中需要调用多个数据库的操作,这时候就需要在Module中注册。

module

在目前的Module的imports的部分就会用到上图的模块管理,也可以在其中结合TypeOrm来实现用ORM框架来对数据库进行操作。

总之,在每次新建了控制器或提供者就需要在module中进行引入,这样nest才能识别的到。

Controller

在控制器中,主要处理要返回给客户端的相应相关的数据。

controller

可以使用路由来实现一个基本的接口。

//@Controller创建一个以/text为路径的控制器
@Controller('/text')
export class 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值