从0到1实现NestJS的服务端应用——初级篇
2023-12-17 08:46:23
在前面的介绍中,我们已经了解了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服务端应用的基础知识的学习。接下来,我们可以继续学习如何管理路由、如何与数据库进行交互等更高级的内容。