nest模块(module)

模块之间相互调用

需要在module中配置exports

创建一个user模块

nest g res user

user.module.ts中添加export

  exports:[
    UserService
  ]

app.module.ts中添加imports

  imports: [Config.init('abc'), UserModule],

于是乎就可以在 app模块中使用user模块的service

import { Controller, Get, Inject } from '@nestjs/common';
import { AppService } from './app.service';
import { UserService } from './user/user.service';


@Controller()
export class AppController {
// 引入user模块中的 UserService
  constructor( private readonly userService:UserService) {}

  @Get()
  getHello(): string {
    
    return this.userService.findAll();
  }
}

模块可以用了作为配置类

import { Module } from "@nestjs/common";

@Module({
    providers:[
        {
            provide:'basePath',
            useValue:'api'
        }
    ],
    exports:[
        {
            provide:'basePath',
            useValue:'api'
        }
    ]
})

export class Config2{

}

controller中使用配置

@Controller('user')
export class UserController {
  constructor(private readonly userService: UserService,
              @Inject('basePath')private readonly config) {}

  @Post()
  create(@Body() createUserDto: CreateUserDto) {
    console.log(this.config)
    return this.userService.create(createUserDto);
  }
  }

也可以动态传参

import { DynamicModule, Module } from "@nestjs/common";

@Module({

})

export class Config2{
    static init(option:string):DynamicModule{
        return{
            module:Config2,
            providers:[
                {
                    provide:'basePath',
                    useValue:'api/' + option
                }
            ],
            exports:[
                {
                    provide:'basePath',
                    useValue:'api/' + option
                }
            ]
        }
    }
}

user模块中引入

  imports:[Config2.init('abc')],
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值