- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 nestjs typeorm 创建了一个 DatabaseModule
import { createConnection } from 'typeorm';
import { ConfigService } from '@nestjs/config';
export const databaseConnection = [
{
provide: 'DATABASE_CONNECTION',
useFactory: async (configService: ConfigService) => await createConnection({
type: configService.get('DBTYPE'),
host: configService.get('DBHOST'),
port: configService.get('DBPORT'),
username: configService.get('DBUSERNAME'),
password: configService.get('DBPASSWORD'),
database: configService.get('DBNAME'),
synchronize: true,
entities: [
__dirname + '/../**/*.entity.ts'
]
})
}
];
在启动休息服务时,我收到以下错误
Cannot read property 'get' of undefined - {"stack":["TypeError: Cannot read property 'get' of undefined
at InstanceWrapper.useFactory [as metatype] (../database/database.provider.js:9:33)
at Injector.instantiateClass (../node_modules/@nestjs/core/injector/injector.js:293:55)
at callback (../node_modules/@nestjs/core/injector/injector.js:77:41)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)"]}
我已经导入了
ConfigModule
内
DatabaseModule
.
import { registerAs } from '@nestjs/config';
// Configuration factory class for database configuration.
const DatabaseConfig = registerAs('DBConfig', () => ({
DBTYPE: process.env.DATABASE_TYPE,
DBHOST: process.env.DATABASE_HOST || 'localhost',
DBPORT: process.env.DATABASE_PORT || 5432,
DBUSERNAME: process.env.DATABASE_USERNAME,
DBPASSWORD: process.env.DATABASE_PASSWORD,
DBNAME: process.env.DATABASE_NAME
}));
在 app.module.ts 导入
ConfigModule.forRoot({
isGlobal: true,
expandVariables: true,
load: [AppConfig, DatabaseConfig]
}),
最佳答案
如果ConfigService
来自全局模块,需要添加 inject
进入异步配置,如下所示:
由于您使用的是 config.namespace,因此您可以像 DBConfig.DBTYPE
一样调用它.
export const databaseConnection = [
{
provide: 'DATABASE_CONNECTION',
inject: [ConfigService],
useFactory: async (configService: ConfigService) => await createConnection({
type: configService.get('DBConfig.DBTYPE'),
host: configService.get('DBConfig.DBHOST'),
port: configService.get('DBConfig.DBPORT'),
username: configService.get('DBConfig.DBUSERNAME'),
password: configService.get('DBConfig.DBPASSWORD'),
database: configService.get('DBConfig.DBNAME'),
synchronize: true,
entities: [
__dirname + '/../**/*.entity.ts'
]
})
}
];
如果
ConfigService
不是来自全局模块,你需要添加
两者
inject: [ConfigService]
和
imports: [ConfigModule]
.
关于nestjs - 如何在 Nestjs DatabaseModule 中使用 ConfigService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64185541/
我正在使用 NestJS jwt 护照来验证用户。我按照文档,这是我的应用程序模块: import { Module } from '@nestjs/common'; import { UserMod
我正在开发一个 NestJS 项目。这是我的项目结构: -src -config -configuration.ts -modules -auth -user -utils -u
我正在尝试附加帐户 ID 列表,因为我无权访问组织,但是每当我这样做时,以前的帐户都会被新的帐户 ID 替换,我只想附加它们。 请让我知道该怎么做。 aws configservice put-con
我按照文档 https://docs.nestjs.com/techniques/configuration 中的描述设置了一个 ConfigService 如何通过 TypeOrmModule 使用
我想知道在引导我的微服务期间是否以正确的方式获取 ConfigService。 有没有办法使用 NestFactory.createMicroservice() 来做到这一点? async funct
我使用 nestjs typeorm 创建了一个 DatabaseModule import { createConnection } from 'typeorm'; import { ConfigS
我有来自文档示例( https://docs.nestjs.com/techniques/authentication )的 JwtStrategy 类: @Injectable() export c
我在 WebSphere Application Server 7 上的企业应用程序中有一个 servlet。 我希望 servlet 从自定义资源环境提供程序读取配置参数。 此特定环境不是 WebS
我正在使用 NestJs 构建 RESTful 服务,我遵循了 example为不同的环境构建配置。它适用于大多数代码。但是我想知道我是否可以在我的 app.module.ts 中使用它? @Modu
我的问题与此类似DI with cyclic dependency with custom HTTP and ConfigService但不完全相同,为此问题提供的解决方案并不能为我解决问题。 我正在
我正在尝试实现一个 ConfigService 来为项目中的正确环境检索正确的配置。我目前遇到了循环依赖 (index):28 Error: (SystemJS) Provider parse err
我正在尝试弄清楚如何使用我的 ConfigService created as described here 。在我的应用程序的最顶层。 我的 main.js 文件如下所示: import { Nes
我是一名优秀的程序员,十分优秀!