为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Node.js

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


课程章节: 第1章


课程讲师:Brian


课程内容

      nestJS  核心概念

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

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

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

https://img1.sycdn.imooc.com//63f806090001515407220347.jpg

https://img1.sycdn.imooc.com//63f8061c0001d76508790493.jpg


nest js 用模块来组织代码

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

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

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


nest js 中的mvc

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

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

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

https://img1.sycdn.imooc.com//63f806e30001733b07220233.jpg

DTO 数据传输对象

DAO 数据访问对象

https://img1.sycdn.imooc.com//63f806fe0001297a07180390.jpg



https://img1.sycdn.imooc.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








https://img1.sycdn.imooc.com//63f8075300016c1007190389.jpg
























点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消