从0到1:搭建并入门Nest.js框架

引言

Nest.js是一个基于Node.js的渐进式框架,它利用了TypeScript的强大类型系统和装饰器语法,结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数响应式编程)的优秀思想,旨在提供一个强大、模块化且高度可伸缩的服务器端开发解决方案。本文将引导你从零开始,搭建一个Nest.js应用,并逐步介绍其核心概念和基本操作,让你快速入门这个充满魅力的框架。

环境准备

安装Node.js: 确保你的系统上安装了Node.js(建议使用长期支持版 LTS)。你可以访问 Node.js官方网站 下载安装。

安装Nest CLI: Nest.js提供了命令行工具来简化项目创建和管理。通过npm或yarn全局安装:

1  npm install -g @nestjs/cli

2  # 或者使用Yarn

3  yarn global add @nestjs/cli

创建Nest.js项目

初始化项目: 使用Nest CLI创建一个新的Nest应用。在终端中执行以下命令:

nest new my-nest-app

这里my-nest-app是你的项目名称,可以根据喜好更改。

进入项目目录:

cd my-nest-app

理解项目结构

Nest.js采用模块化的架构,让我们看看主要的目录结构:

src: 应用的主要源代码目录。

app.module.ts: 应用的根模块,所有其他模块都从这里导入。

main.ts: 应用的启动点。

基本概念

Module(模块): Nest应用的核心构建块,负责组织相关组件、服务、控制器等。

Controller(控制器): 负责处理HTTP请求。

Service(服务): 业务逻辑的容器,通常用来处理数据和逻辑。

Dependency Injection(依赖注入): Nest内置了强大的依赖注入系统,便于管理组件之间的依赖关系。

开发第一个API

让我们创建一个简单的API,用于返回“Hello World”。

生成模块和控制器:

nest generate module hello

nest generate controller hello

这将在src目录下创建hello模块和hello.controller.ts文件。

编辑hello.controller.ts:

打开hello.controller.ts,添加一个路由处理器来响应GET请求:

Typescript

import { Controller, Get, Render } from '@nestjs/common';

@Controller('hello')

export class HelloController {

@Get()  async sayHello(): Promise<string> 

{    return 'Hello, world!';8}9}

这里,@Controller('hello')装饰器指定了控制器处理所有以/hello开头的请求,而@Get()装饰器则指定了该方法处理GET请求。

启动应用:

回到终端,运行以下命令启动应用:

npm run start

# 或者使用Yarn3yarn start

默认情况下,应用会在http://localhost:3000启动。访问http://localhost:3000/hello,你应该能看到“Hello, world!”。

总结

通过以上步骤,你已经成功创建并运行了你的第一个Nest.js应用。这只是冰山一角,Nest.js的强大在于其深度集成的模块化、依赖注入、中间件、管道、守卫等功能,以及对数据库操作、认证授权、CQRS等高级特性的良好支持。随着项目的深入,你将逐步解锁更多Nest.js的魅力,构建出复杂而优雅的后端服务。继续探索,享受编程的乐趣吧!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容