小满nestjs(第十一章 nestjs 模块)

简介: 每个 Nest 应用程序至少有一个模块,即根模块。根模块是 Nest 开始安排应用程序树的地方。事实上,根模块可能是应用程序中唯一的模块,特别是当应用程序很小时,但是对于大型程序来说这是没有意义的。在大多数情况下,您将拥有多个模块,每个模块都有一组紧密相关的功能

模块@Module


每个 Nest 应用程序至少有一个模块,即根模块。根模块是 Nest 开始安排应用程序树的地方。事实上,根模块可能是应用程序中唯一的模块,特别是当应用程序很小时,但是对于大型程序来说这是没有意义的。在大多数情况下,您将拥有多个模块,每个模块都有一组紧密相关的功能


1.基本用法


当我们使用nest g res user 创建一个CURD 模板的时候 nestjs 会自动帮我们引入模块


eeac62e95cd64df783f3f8ccfdc3c38f.png


2.共享模块


例如 user 的 Service 想暴露给 其他模块使用就可以使用exports 导出该服务


41420a4be6c4497abec0871be0944af0.png


由于App.modules 已经引入过该模块 就可以直接使用user 模块的 Service


c275f874c27e4229ad2588e7aad0ad33.png


36f88161516b4354ba735bd0185583c2.png


3.全局模块


@Global()


我们给 user 模块添加 @Global() 他便注册为全局模块


87c46590a3b046f991b1241d932a8e99.png


在list 模块使用无须在module  import 导入


06fa5e368a4e4c8283cd33704f0e8a19.png


4.动态模块


动态模块主要就是为了给模块传递参数 可以给该模块添加一个静态方法 用来接受参数


e414eb0507d9419aa8098ddf5463d459.png


import { Module, DynamicModule, Global } from '@nestjs/common'
interface Options {
    path: string
}
@Global()
@Module({
})
export class ConfigModule {
    static forRoot(options: Options): DynamicModule {
        return {
            module: ConfigModule,
            providers: [
                {
                    provide: "Config",
                    useValue: { baseApi: "/api" + options.path }
                }
            ],
            exports: [
                {
                    provide: "Config",
                    useValue: { baseApi: "/api" + options.path }
                }
            ]
        }
    }
} 


e269dc8dd1d14bb8a0345321b567921e.png

c980f29751274936ba081a2384bffe93.png

目录
相关文章
|
JSON 关系型数据库 MySQL
NestJS:基础掌握 从了解到使用(下)
NestJS:基础掌握 从了解到使用(下)
264 0
|
开发框架 JavaScript 前端开发
NestJS:基础掌握 从了解到使用(上)
NestJS:基础掌握 从了解到使用(上)
179 0
|
前端开发
小满nestjs(第十章 nestjs 提供者)
如果服务 之间有相互的依赖 或者逻辑处理 可以使用 useFactory
182 0
小满nestjs(第十章 nestjs 提供者)
|
中间件
小满nestjs(第十二章 nestjs 中间件)
中间件是在路由处理程序 之前 调用的函数。 中间件函数可以访问请求和响应对象
228 1
小满nestjs(第十二章 nestjs 中间件)
|
前端开发 测试技术 API
小满nestjs(第八章 nestjs 控制器)
小满nestjs(第八章 nestjs 控制器)
195 0
小满nestjs(第八章 nestjs 控制器)
|
JavaScript API
小满nestjs(第十五章 nestjs 和 RxJs)
nterval 五百毫秒执行一次 pipe 就是管道的意思 管道里面也是可以去掉接口的支持处理异步数据 去处理数据 这儿展示 了 map 和 filter 跟数组的方法是一样的 最后 通过观察者 subscribe 接受回调
136 0
小满nestjs(第十五章 nestjs 和 RxJs)
|
JavaScript
小满nestjs(第五章 nestjs cli)
通过 NestFactory.create(AppModule) 创建一个app 就是类似于绑定一个根组件App.vue
173 0
小满nestjs(第五章 nestjs cli)
|
前端开发
小满nestjs(第九章 nestjs Session)
session 是服务器 为每个用户的浏览器创建的一个会话对象 这个session 会记录到 浏览器的 cookie 用来区分用户
329 0
小满nestjs(第九章 nestjs Session)
|
开发框架 JSON JavaScript
小满nestjs(第一章 介绍nestjs)
Nestjs 是一个用于构建高效可扩展的一个基于Node js 服务端 应用程序开发框架并且完全支持typeScript 结合了 AOP 面向切面的编程方式
221 0
小满nestjs(第一章 介绍nestjs)
|
前端开发
小满nestjs(第二十七章 nestjs typeOrm关系)
在我们开始的过程中,肯定不会把数据存在一个表里面,我们会进行分表,把数据分开存,然后通过关联关系,联合查询。
210 0
小满nestjs(第二十七章 nestjs typeOrm关系)