這就是我的NestJS的 app.module.ts 的樣子:
@Module({
imports: [
ConfigModule.forRoot({ envFilePath: root '.env' }),
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
cors: {
credentials: true,
origin: process.env.ORIGIN // <--
}
})
],
controllers: [AppController]
})
由于 GraphQLModule 引數物件變得有點復雜,我想將它重構為一個配置函式。
export default () => ({
driver: ApolloDriver,
cors: {
credentials: true,
origin: process.env.ORIGIN // <--
}
});
@Module({
imports: [
ConfigModule.forRoot({ envFilePath: root '.env' }),
GraphQLModule.forRoot<ApolloDriverConfig>(graphQLConfig)
],
controllers: [AppController]
})
但是如何訪問我在 ConfigModule envFilePath 中匯入的 process.env 變數?
uj5u.com熱心網友回復:
您應該使用異步注冊方法:forRootAsync. 就像是:
@Module({
imports: [
ConfigModule.forRoot({ envFilePath: root '.env' }),
GraphQLModule.forRootAsync<ApolloDriverConfig>({
driver: ApolloDriver,
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
cors: {
credentials: true,
origin: config.get('ORIGIN')
}
})
})
],
controllers: [AppController]
})
檔案中的更多詳細資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/505114.html
標籤:javascript 巢穴
上一篇:推斷類物件的型別
