#javascript #nestjs
Вопрос:
Я создал .env
APP_PORT=3001
DEST=C:dataformations
У меня есть ConfigService:ConfigService в исполнителе контроллера. Я хочу получить DEST
адрес назначения из .env в этом коде.
@UseInterceptors(FileInterceptor('file', {
storage: diskStorage({
destination: /*here*/ ,
filename: (req, file, cb) => {
const filename: string = path.parse(file.originalname).name.replace(/s/g, '')
const extension: string = path.parse(file.originalname).ext
cb(null, `${filename}${extension}`)
}
})
}))
Когда я использую это внутри этого другого объекта, я получаю ошибку.
Комментарии:
Ответ №1:
Вы должны использовать ConfigModule
для получения переменной среды.
Проверьте документ: https://docs.nestjs.com/techniques/configuration
Комментарии:
1. я сделал проблему здесь в том, что edithor отказывается от этого.configServise, я думаю, потому что это другой объект
Ответ №2:
Если вы хотите использовать конфигурацию вне контейнера IoC Nest, вы можете попробовать nest-typed-config:
import { selectConfig } from 'nest-typed-config';
import { ConfigModule, FileConfig } from '@/module/config';
const fileConfig = selectConfig(ConfigModule, FileConfig);
@UseInterceptors(FileInterceptor('file', {
storage: diskStorage({
destination: fileConfig.destination,
filename: (req, file, cb) => {
const filename: string = path.parse(file.originalname).name.replace(/s/g, '')
const extension: string = path.parse(file.originalname).ext
cb(null, `${filename}${extension}`)
}
})
}))