1

全部,如何在配置案例中使用 DynamicModule?

https://github.com/nestjs/nest/blob/master/sample/25-dynamic-modules/src/config/config.service.ts#L12为官方示例。

像官方示例一样配置后:

import { Inject, Injectable } from '@nestjs/common';
import * as dotenv from 'dotenv';
import * as fs from 'fs';
import * as path from 'path';
import { CONFIG_OPTIONS } from './constants';
import { ConfigOptions, EnvConfig } from './interfaces';

@Injectable()
export class ConfigService {
  private readonly envConfig: EnvConfig;

  constructor(@Inject(CONFIG_OPTIONS) options: ConfigOptions) {
    const filePath = `${process.env.NODE_ENV || 'development'}.env`;
    const envFile = path.resolve(__dirname, '../../', options.folder, filePath);
    this.envConfig = dotenv.parse(fs.readFileSync(envFile));
  }

  get(key: string): string {
    return this.envConfig[key];
  }
}

真的不明白“动态模块使我们能够将参数传递给正在导入的模块,以便我们可以改变它的行为。”(来自官方文档)与常用方式有什么区别吗?喜欢:https ://docs.nestjs.com/techniques/configuration

例如,如果我在 config 文件夹中有三个配置文件中的两个。如何使用?和常用方式的区别。

谢谢。

4

1 回答 1

0

感谢nestjs官方群。

只需添加@Global()到我的 ConfigService 就可以了。

于 2020-03-24T10:31:07.257 回答