手记

【备战春招】第17天 nest 生命周期

课程名称:NestJS 入门到实战 前端必学服务端新趋势


课程章节: 第1章


课程讲师:Brian


课程内容

      nestJS  核心概念

        controller 层负责处理请求,返回响应

        service 层负责提供方法和操作 只包含业务逻辑

        data access 层负责访问数据库中得数据


nest js 用模块来组织代码

    功能模块与共享模块是一回事,只是叫法不一样

    全局模块通常应用在配置,数据库链接,日志上

    动态模块是在使用到模块得时候才初始化


nest js 中的mvc

    nest可以通过模板库实现view层, 常见pug hus ejs

    nestjs默认集成express作为web服务器 可以换成koa/fastify

    controller响应前端的请求,model是对应的具体数据库逻辑

DTO 数据传输对象

DAO 数据访问对象




关于项目得env配置

npm i @nestjs/config

npm i cross-env

需要在app.module.ts中引入ConfigModule


import { Module } from '@nestjs/common';
import { UserModule } from './user/user.module';
// 引入ConfigModule
import {ConfigModule} from '@nestjs/config'
import * as dotenv from 'dotenv' 
// envFilePath 是判断你在package 配置得process.env.NODE_ENV
const envFilePath = `.env.${process.env.NODE_ENV || `development`}`

@Module({
  // 在imports 选择isGlobal 全局引用 设置了全局在别的文件就可以this.configService.get('DB')
  // env 是处理公有得配置 如果在.dev没用这个配置用env的 如果都有则覆盖 
  imports: [ConfigModule.forRoot({
    isGlobal:true,
    envFilePath,
    load: [()=>dotenv.config({path: '.env'})]
  }),UserModule],
  controllers: [],
  providers: [],
})
export class AppModule {}
"start:dev": "cross-env NODE_ENV=development nest build --webpack --webpackPath webpack-hmr.config.js --watch",

 "start:prod": "cross-env NODE_ENV=production node dist/main































0人推荐
随时随地看视频
慕课网APP