最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何使用全局模块导入后?

IT培训 admin 7浏览 0评论

如何使用全局模块导入后?

我已经按照从如何创建一个基本的配置服务的docs的例子。

在本教程的底部,它说,你可以选择在全球范围内声明它:

“而不是进口的qazxsw反复POI在所有的模块,你也可以声明qazxsw POI作为一个全球性的模块。”

所以,以下为全球模块我的文档:

  • 进口ConfigModuleConfigModuleGlobal
  • 增加了@nestjs/common装饰到ConfigModule
  • 进口@Global()ConfigModule
  • 新增ConfigModuleAppModule阵列。

下一个是什么?我曾尝试以注入ConfigModuleimports但是它不能解决。

app.module.ts:

ConfigService

app.service.ts:

AppService

config.module.ts:

import { Module } from '@nestjs/common';
import { AppService } from './app.service';
import { AppController } from './app.controller';
import { ConfigModule } from '../config/config.module';

@Module({
  imports: [
    ConfigModule,
  ],
  controllers: [
    AppController,
  ],
  providers: [
    AppService,
  ],
})
export class AppModule {}

config.service.ts:

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  private readonly config: ConfigService;

  constructor(config: ConfigService) {
    this.config = config;
  }

  getHello(): string {
    return config.get('DB_NAME');
  }
}

我希望能够注入import { Module, Global } from '@nestjs/common'; import { ConfigService } from './config.service'; @Global() @Module({ providers: [ { provide: ConfigService, useValue: new ConfigService(`${process.env.NODE_ENV}.env`), }, ], exports: [ ConfigService, ], }) export class ConfigModule {} 从任何模块访问它。

回答如下:

你错过了你的import * as dotenv from 'dotenv'; import * as fs from 'fs'; export class ConfigService { private readonly envConfig: { [key: string]: string }; constructor(filePath: string) { this.envConfig = dotenv.parse(fs.readFileSync(filePath)); } get(key: string): string { return this.envConfig[key]; } } ConfigService预选赛:

this

此外,进口丢失:

AppService

如何使用全局模块导入后?

我已经按照从如何创建一个基本的配置服务的docs的例子。

在本教程的底部,它说,你可以选择在全球范围内声明它:

“而不是进口的qazxsw反复POI在所有的模块,你也可以声明qazxsw POI作为一个全球性的模块。”

所以,以下为全球模块我的文档:

  • 进口ConfigModuleConfigModuleGlobal
  • 增加了@nestjs/common装饰到ConfigModule
  • 进口@Global()ConfigModule
  • 新增ConfigModuleAppModule阵列。

下一个是什么?我曾尝试以注入ConfigModuleimports但是它不能解决。

app.module.ts:

ConfigService

app.service.ts:

AppService

config.module.ts:

import { Module } from '@nestjs/common';
import { AppService } from './app.service';
import { AppController } from './app.controller';
import { ConfigModule } from '../config/config.module';

@Module({
  imports: [
    ConfigModule,
  ],
  controllers: [
    AppController,
  ],
  providers: [
    AppService,
  ],
})
export class AppModule {}

config.service.ts:

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  private readonly config: ConfigService;

  constructor(config: ConfigService) {
    this.config = config;
  }

  getHello(): string {
    return config.get('DB_NAME');
  }
}

我希望能够注入import { Module, Global } from '@nestjs/common'; import { ConfigService } from './config.service'; @Global() @Module({ providers: [ { provide: ConfigService, useValue: new ConfigService(`${process.env.NODE_ENV}.env`), }, ], exports: [ ConfigService, ], }) export class ConfigModule {} 从任何模块访问它。

回答如下:

你错过了你的import * as dotenv from 'dotenv'; import * as fs from 'fs'; export class ConfigService { private readonly envConfig: { [key: string]: string }; constructor(filePath: string) { this.envConfig = dotenv.parse(fs.readFileSync(filePath)); } get(key: string): string { return this.envConfig[key]; } } ConfigService预选赛:

this

此外,进口丢失:

AppService

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论