#Nested Dependency Injection

8 messages · Page 1 of 1 (latest)

sharp ruin
#

Problem when injecting dependency

#

What i am doing

#

The error

#

Error: Nest can't resolve dependencies of the LoggerService (?, winston). Please make sure that the argument () => ({
port: Number(process.env.PORT) || 3004,
host: process.env.HOST || 'localhost',
serviceName: process.env.SERVICE_NAME || 'user-subscription-service',
environment: process.env.NODE_ENV || system_1.STAGING,
}) at index [0] is available in the LoggerModule context.

Potential solutions:

  • If () => ({
    port: Number(process.env.PORT) || 3004,
    host: process.env.HOST || 'localhost',
    serviceName: process.env.SERVICE_NAME || 'user-subscription-service',
    environment: process.env.NODE_ENV || system_1.STAGING,
    }) is a provider, is it part of the current LoggerModule?
  • If () => ({
    port: Number(process.env.PORT) || 3004,
    host: process.env.HOST || 'localhost',
    serviceName: process.env.SERVICE_NAME || 'user-subscription-service',
    environment: process.env.NODE_ENV || system_1.STAGING,
    }) is exported from a separate @Module, is that module imported within LoggerModule?
    @Module({
    imports: [ /* the Module containing () => ({
    port: Number(process.env.PORT) || 3004,
    host: process.env.HOST || 'localhost',
    serviceName: process.env.SERVICE_NAME || 'user-subscription-service',
    environment: process.env.NODE_ENV || system_1.STAGING,
    }) */ ]
    })
left flume
#

as the docs shows, you must use @Inject(appConfig.KEY)

royal edge
#

Btw, please use code blocks for pasting code, as shown here: #welcome message

sharp ruin
#

Sorry Sir!