继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

有梦
关注TA
已关注
手记 82
粉丝 25
获赞 19

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


课程章节: 第1章


课程讲师:Brian


课程内容

      nestJS  核心概念

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

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

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

http://img2.mukewang.com/63f806090001515407220347.jpg

http://img.mukewang.com/63f8061c0001d76508790493.jpg


nest js 用模块来组织代码

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

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

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


nest js 中的mvc

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

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

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

http://img4.mukewang.com/63f806e30001733b07220233.jpg

DTO 数据传输对象

DAO 数据访问对象

http://img.mukewang.com/63f806fe0001297a07180390.jpg



http://img1.mukewang.com/63f8070c00011c1206600445.jpg


关于项目得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








http://img4.mukewang.com/63f8075300016c1007190389.jpg
























打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP