返回

从0到1实现NestJS的服务端应用——初级篇

前端

在前面的介绍中,我们已经了解了Nest.js的一个基础应用,并且能使用Nest.js连接数据库进行操作。那么,接下来就让我们更进一步的使用Nest.js吧。

首先,我们先来了解一下Nest.js的服务端应用的目录结构。

├── src
│   ├── app.controller.ts
│   ├── app.module.ts
│   ├── app.service.ts
├── package.json
├── tsconfig.json
├── README.md
└── node_modules

其中,src文件夹是Nest.js的源代码目录,package.json是项目配置文件,tsconfig.json是TypeScript的配置文件,README.md是项目的说明文档,node_modules是依赖包的目录。

接下来,我们来创建我们的第一个Nest.js服务端应用。

nest new my-app

这个命令将创建一个新的Nest.js项目,并安装必要的依赖包。

接下来,我们进入项目目录,并启动开发服务器。

cd my-app
npm run start:dev

这个命令将启动Nest.js的开发服务器,并在端口3000上监听请求。

现在,我们打开浏览器,访问http://localhost:3000,就可以看到我们的Nest.js服务端应用了。

接下来,我们来学习如何处理数据。

在Nest.js中,数据可以通过控制器和服务来处理。控制器负责处理请求和响应,而服务负责处理数据。

我们先来创建一个控制器。

nest generate controller app

这个命令将创建一个名为AppController的控制器。

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}

这个控制器有一个getHello()方法,该方法返回一个字符串。

接下来,我们来创建一个服务。

nest generate service app

这个命令将创建一个名为AppService的服务。

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}

这个服务有一个getHello()方法,该方法返回一个字符串。

现在,我们已经创建了一个控制器和一个服务,我们可以通过控制器来调用服务的方法。

在控制器中,我们可以使用@Get()装饰器来装饰一个方法,表明该方法是一个GET请求的处理方法。

在服务中,我们可以使用@Injectable()装饰器来装饰一个类,表明该类可以被注入到其他类中。

现在,我们已经完成了Nest.js服务端应用的基础知识的学习。接下来,我们可以继续学习如何管理路由、如何与数据库进行交互等更高级的内容。