NestJS。自定义 provider,inject 无法解析 useFactory 的依赖

弗拉迪斯拉夫·莫伊谢延科夫

我在应用程序启动期间收到以下错误: Error: Nest can't resolve dependencies of the useFactory (?). Please verify whether [0] argument is available in the current context.

ConfigService被导出并ConfigModule作为第一个模块加载。不知道是我的错还是NestJS的bug。也许有人可以找到一些东西)谢谢。

database.providers.ts:

import { Sequelize } from 'sequelize-typescript';
import { SEQUELIZE_TOKEN } from './constants';
import { User } from '../users/user.entity';
import { ConfigService } from '../config/config.service';

export const databaseProviders = [
 {
  provide: SEQUELIZE_TOKEN,
  useFactory: async (configService: ConfigService) => {
    const sequelize = new Sequelize({
      dialect: 'mysql',
      host: 'localhost',
      port: 3306,
      username: configService.databaseUser,
      password: configService.databasePassword,
      database: configService.databaseName,
      operatorsAliases: false,
      logging: false,
    });
    sequelize.addModels([User]);
    await sequelize.sync({ force: process.env.NODE_ENV === 'local'
    || process.env.NODE_ENV === 'test',
    });
    return sequelize;
  },
  inject: [ConfigService],
 },
];

部分 app.module.ts:

@Module({
 imports: [
  ConfigModule,
  DatabaseModule,
  GraphQLModule,
  UsersModule,
 ],
 exports: [DatabaseModule],
})

部分 config.module.ts:

@Module({
 providers: [
    {
        provide: ConfigService,
        useValue: new ConfigService(`./config`),
    },
 ],
 exports: [ConfigService],
})
卡米尔·迈斯利维茨

你必须ConfigModule在你的DatabaseModule. 默认情况下,Nest 中的提供程序不是全局范围的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将服务注入 Angular Provider UseFactory

NestJS 无法解析依赖

NestJS无法解析AuthServices的依赖项

NestJS无法解析UserController的依赖项

NestJS无法解析UsersModule的依赖项

NestJS Nest无法解析RolesService的依赖项(+,+ 、?)

NestJs 无法解析 HeicService 的依赖关系

Android Studio无法在自定义项目布局中解析androidTestImplementation依赖项

Maven:自定义 .jar 在引用时无法解析正确的依赖项

激活器为何无法解析本地Maven存储库中的自定义依赖项?

无法从aws-lambda解析“ nodejs /”目录下的自定义依赖项

无法在自定义反射中调用依赖项

NestJS / TypeORM单元测试:无法解析JwtService的依赖项

NestJS无法解析JWT_MODULE_OPTIONS的依赖项

如何从GitHub上的自定义存储库定义依赖项的解析器?

其他服务中的@Inject服务-Nest无法解析依赖关系

Gradle构建无法从自定义Maven存储库获取依赖关系

为什么我的自定义UserControl上的依赖项属性无法识别?

无法解决与Maven的层次结构和自定义项目内存储库的依赖关系

将自定义 Puppet 模块移至单独的环境,现在无法加载任何依赖项

无法在具有空依赖项的 useEffect 中调用自定义反应钩子

Angular provider:为什么我的useFactory方法没有被调用?

Maven“无法解析依赖项”

无法解析MavenProject的依赖项

包依赖关系无法解析

InjectionToken:Nest 无法解析依赖

无法解析依赖树Reactjs

Angular`useFactory`服务设置抛出未捕获的错误:无法解析组件的所有参数

NestJS 使用留在依赖注入层中的自定义参数创建一个新实例