Size: a a a

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

2020 March 23

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
password+ rePassword
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Dilame Bowzee
Блин, я вот по прежнему понять не могу, неужели монорепа в виде фронт+бэк это норм?
Ну что там шарить можно?

Если это валидационные DTO, то это нарушение принципа Single source of truth. Валидацией должен заниматься бэк.
Если это graphql схема, то она замечательно интроспектится удалённо
Можно шарить DTO между фронтом и беком, со стороны фронта — DTO для preload state, со стороны бэка — DTO респонса апишек. Это контракты, контракты можно и правильно шарить
источник

V

Valentin in NestJS — русскоязычное сообщество
Andrey Melikhov
Можно шарить DTO между фронтом и беком, со стороны фронта — DTO для preload state, со стороны бэка — DTO респонса апишек. Это контракты, контракты можно и правильно шарить
А какие есть варианты, если бек и фронт не в монорепе? Я знаю только один адекватный способ, на фронте парсить опен схему от свагера и по ней генератор интерфейсы.
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Valentin
А какие есть варианты, если бек и фронт не в монорепе? Я знаю только один адекватный способ, на фронте парсить опен схему от свагера и по ней генератор интерфейсы.
Положить контракт в отдельную репу, например, и шарить её
источник

AK

Alex Konstantinov in NestJS — русскоязычное сообщество
Andrey Melikhov
Можно шарить DTO между фронтом и беком, со стороны фронта — DTO для preload state, со стороны бэка — DTO респонса апишек. Это контракты, контракты можно и правильно шарить
Я думал, что контракт это graphql схема, grpc схема, wsdl, но никак не DTO
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Alex Konstantinov
Я думал, что контракт это graphql схема, grpc схема, wsdl, но никак не DTO
Контракт — это интерфейсы и DTO
источник

V

Valentin in NestJS — русскоязычное сообщество
Andrey Melikhov
Положить контракт в отдельную репу, например, и шарить её
А все изменения через версионирование репы. Хм
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Valentin
А все изменения через версионирование репы. Хм
Да, такое часто делают, когда API и клиентом занимаются разные команды
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Andrey Melikhov
Контракт — это интерфейсы и DTO
Если DTO это просто интерфейс, то его в принципе можно шарить. Но по крайней мере в несте его предлагают приправлять валидациями. И вот тут уже не понятно, стоит ли тащить это на фронт
источник

V

Valentin in NestJS — русскоязычное сообщество
Да да. Все логично и явно
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Но конечно если держать клиент и сервер в разных репах, то несколько нивелируется смысл писать сервер на ноде, у нас пропадает весь кайф
источник

И

Илья | 😶 in NestJS — русскоязычное сообщество
Andrey Melikhov
Положить контракт в отдельную репу, например, и шарить её
зачем напомнил...
Нужно тайпинги связать с ангуляром, а я опять опечалился :(
источник

V

Valentin in NestJS — русскоязычное сообщество
Andrey Melikhov
Но конечно если держать клиент и сервер в разных репах, то несколько нивелируется смысл писать сервер на ноде, у нас пропадает весь кайф
?
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Dilame Bowzee
Если DTO это просто интерфейс, то его в принципе можно шарить. Но по крайней мере в несте его предлагают приправлять валидациями. И вот тут уже не понятно, стоит ли тащить это на фронт
да, class-validator на фронт тащить не хочется. но можно и без него :)
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Andrey Melikhov
да, class-validator на фронт тащить не хочется. но можно и без него :)
ну а как валидировать без него?) Нест предлагает валидацию только через DTO
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Dilame Bowzee
ну а как валидировать без него?) Нест предлагает валидацию только через DTO
неправда, просто нест дружит с class-validator из коробки, но валидационные пайпы ты можешь писать любые
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Нода не лучшее решение для работы с данными, писать бэки на ней имеет смысл только именно как фронт-бэки, bff. Тут сразу выгода в шаринге контрактов, монорепе, удобстве разработки. Как только разделяем, то сразу вопрос – а зачем вообще тогда использовать node.js?
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Andrey Melikhov
неправда, просто нест дружит с class-validator из коробки, но валидационные пайпы ты можешь писать любые
Блин, а я и забыл, как год назад читал в доках про joi... спасибо за напоминание)
источник

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
класс-валидатор удобен тем что схема валидации и модель идут вместе через декораторы, а в других которые я пробовал там схема отдельным файлом, и оно разьезжается все время
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Andrey Melikhov
Нода не лучшее решение для работы с данными, писать бэки на ней имеет смысл только именно как фронт-бэки, bff. Тут сразу выгода в шаринге контрактов, монорепе, удобстве разработки. Как только разделяем, то сразу вопрос – а зачем вообще тогда использовать node.js?
Потому что ни с чем другим работать не умеем?)
Блин, а вот серьёзно, что если не нода?
источник