1.为什么选择nest
- ts,ts是趋势,顺带学习应用
- 类似spring
- 微服务
- 与express,koa对比是企业级的框架,与egg对比更好的支持ts
2. 开始
cnpm i -g @nestjs/cli
nest new nest01
npm run start
2.1 流程图
2.2 controller.ts
- Controller 负责处理传入的请求,并返回相关响应。它内置的路由和获取 HTTP 上下文相关模块,让我们很好的处理业务逻辑,并完成 RESTful 接口。当然,它要其效果,必须要注册到模块的 controllers 属性中去。
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get() //路由:/
getHello(): string { //返回值是string
return this.appService.getHello(); //调用service中的方法
}
}
2.3 module.ts
- Module 这个组件起到将各个模块组织在一起的作用,Nest 应用程序也必须有一个 Module 模块。
- 几乎所有的组件模块都可以认为是 Provider:service, repository, factory, helper 等等。他们都可以通过构造函数 constructor 注入依赖关系。Provider 可以说是 Controller 的辅助模块,它可以帮助你连接数据库、获取缓存数据、公共数据处理模块等等。当然,他也需要注册到模块的 providers 属性中去。
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { ProductsController } from './products.controller';
import { UserController } from './controller/admin/user';
import { AppService } from './app.service';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
2.4 main.ts (主入口)
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
3. 参考
- https://www.bilibili.com/vide...
- https://www.jianshu.com/p/4e0...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。