共计 1325 个字符,预计需要花费 4 分钟才能阅读完成。
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…
正文完