Size: a a a

NestJS — русскоязычное сообщество

2020 April 13

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Anton Kodwi
а вот еще вопрос: configService.get<someType>(...) - шаблонный метод, он что, только тип результата нужный выставляет и все?

Вот такой код:

const port = configService.get<number>('port');

port будет иметь тип number, а внутри будет лежать строка... Какой смысл иметь дженерик версию get'a, если оно само не кастит значения к заданному типу?
Пользуясь случаем, хотел бы прорекламировать npm-модуль-декоратор, который позволяет превратить переменные окружения в типизированный класс с автоматическим приведением типов

https://www.npmjs.com/package/classenv

100% nest-совместимый
источник

4

444 in NestJS — русскоязычное сообщество
Anton Kodwi
Ребят, привет. Прикручиваю конфиг, в итоге нест не видит мой env файл и не грузит переменные. Сделал все по доке. Где он должен лежать? На самом верхнем уровне или в src?
забавно, но замечаю, что популярная трабла
источник

4

444 in NestJS — русскоязычное сообщество
сам с ней столкнулся и не понял сначала, а потом как понял
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Dilame Bowzee
Пользуясь случаем, хотел бы прорекламировать npm-модуль-декоратор, который позволяет превратить переменные окружения в типизированный класс с автоматическим приведением типов

https://www.npmjs.com/package/classenv

100% nest-совместимый
Глянул либу, вообщем, шторм когда не видит index.js в корне не помогает, добавишь что то типа export * from './dist'
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
источник

AB

Aleksandr Bukhalo in NestJS — русскоязычное сообщество
дифиншнов с tsconfig нету
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Aleksandr Bukhalo
дифиншнов с tsconfig нету
Так в том то и дело. Если сделать import {} from 'classenv/dist' тогда будут а что бы с корня можно было брать тогда нужно реэкспортнуть
источник

AB

Aleksandr Bukhalo in NestJS — русскоязычное сообщество
кину пулик ему попозже
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Хотя, может можно просто types указать в package.json нужно проверить
источник

MY

Michael Yali in NestJS — русскоязычное сообщество
Sviatoslav
Хотя, может можно просто types указать в package.json нужно проверить
Не можно, а нужно
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Да, можно.. и нужно)
источник

E

Evgeny in NestJS — русскоязычное сообщество
ConfigService это конечно хорошо, но как засунуть переменную из него сюда?

 @Client({
   transport: Transport.GRPC,
   options: {
     url: some env variable - ?????
     package: ‘foo’,
     protoPath: ‘foo’,
   },
 })
 private client: ClientGrpc
источник

E

Evgeny in NestJS — русскоязычное сообщество
@Module({
 imports: [
   JwtModule.register({
     secret: process.env.SECRET_KEY, - пусто
   }),
 ],
})
export class AuthModule {}

Другой пример, тут тоже не подтягивается переменная из env. Как это делается здесь? Я читал доки и конфиг сервис в это случае не дернешь.
источник

BB

Bugs Bunny in NestJS — русскоязычное сообщество
Evgeny
@Module({
 imports: [
   JwtModule.register({
     secret: process.env.SECRET_KEY, - пусто
   }),
 ],
})
export class AuthModule {}

Другой пример, тут тоже не подтягивается переменная из env. Как это делается здесь? Я читал доки и конфиг сервис в это случае не дернешь.
в jwt useFactory
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Evgeny
@Module({
 imports: [
   JwtModule.register({
     secret: process.env.SECRET_KEY, - пусто
   }),
 ],
})
export class AuthModule {}

Другой пример, тут тоже не подтягивается переменная из env. Как это делается здесь? Я читал доки и конфиг сервис в это случае не дернешь.
Привет, я конечно костыльно может быть сделал но у меня это так работает сейчас. В модулях где нужны env делаем импорт:
ConfigModule.forRoot({
     envFilePath: './configs/.env',
     isGlobal: true,
   }),

и можно получить все env
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Veaceslav Artiom
Привет, я конечно костыльно может быть сделал но у меня это так работает сейчас. В модулях где нужны env делаем импорт:
ConfigModule.forRoot({
     envFilePath: './configs/.env',
     isGlobal: true,
   }),

и можно получить все env
Как пример
источник

YT

Yurii Tryfonkov in NestJS — русскоязычное сообщество
Ребята, есть необходимость фильтровать данные из БД по ID текущего пользователя, из JWT. В каждом методе контроллера вручную добавляю типа queryOptions.userId = userId.
Как это правильно делать? Использовать Pipe или Interceptor (пока не понял в чем разница между ними)? Или еще как-то?
источник

E

Evgeny in NestJS — русскоязычное сообщество
Bugs Bunny
в jwt useFactory
Благодарю, это работает, а вот для клиента хз как сделать.
источник

BB

Bugs Bunny in NestJS — русскоязычное сообщество
можно просто захерачить
import * as dotenv from ‘dotenv’
dotenv.config()
источник

BB

Bugs Bunny in NestJS — русскоязычное сообщество
этот сервис с env это конечно хорошо но не все так хорошо спустя два месяца как хотелось бы
источник