Size: a a a

Node.js — русскоговорящее сообщество

2021 March 03

N

Nikita in Node.js — русскоговорящее сообщество
Gleb
возможно понимаю, тож эксперементирую, только с ECMA в целом, и думаю можно сделать лучше чем в nest, сегодня только возникла идея попробовать сделать nest.js на ELM, ну или как миниум на babel/ts с всякими фичами вроде
import * as controllers from './controllers'  
т.е. автоиморт из дерикторий и генерация свагера сразу, не описывая тонны декораторв...  в общем без декоратора в spring-like подходе ну никак же, не представляю как без них можно сделать удобный AuthGuard.

Х.З. как писать на чистом node.js, для меня это тож самое что писать на чистом js для браузера.
посмотрите видос выше, там вполне нормальный апи с бизнес логикой на чистом джс сделан, ну только бабеля немного для импортов
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
Nikita
так сами юзеры от роутов не зависят
И можно же через ес6 импорт. Вроде проблема цикл зависимостей решается.
источник

N

Nikita in Node.js — русскоговорящее сообщество
Vlad Sobenko
И можно же через ес6 импорт. Вроде проблема цикл зависимостей решается.
можно пример, а то чет не врубаюсь
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
Nikita
можно пример, а то чет не врубаюсь
Почитай про ес6 модули, там по другому импорты строятся. С телефона в кровати лежу, какие тебе примеры)
источник

N

Nikita in Node.js — русскоговорящее сообщество
Vlad Sobenko
Почитай про ес6 модули, там по другому импорты строятся. С телефона в кровати лежу, какие тебе примеры)
))
источник

G

Gleb in Node.js — русскоговорящее сообщество
Nikita
посмотрите видос выше, там вполне нормальный апи с бизнес логикой на чистом джс сделан, ну только бабеля немного для импортов
посмотрел на репо, чувство прекрасного от реализации требует чего-то попроще, в бизнес-логике много низкоурвневого кода,  я считаю в nest.js его так же много, но и тут его в разы больше. Наверное это вкусовщина, однако уже сильно привык к лаконичности описаний.
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
как связана бизнес логика и нест?
источник

N

Nikita in Node.js — русскоговорящее сообщество
Vanya Leyn
как связана бизнес логика и нест?
"нельзя написать хорошее приложение с бизнес логикой на ноде без неста"
- Анонимус из чата по ноде
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
А зачем req, res, next пробрасываешь в роутах?
источник

N

Nikita in Node.js — русскоговорящее сообщество
ведь паттерны же только в реакте и в несте работают
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Nikita
"нельзя написать хорошее приложение с бизнес логикой на ноде без неста"
- Анонимус из чата по ноде
точно, спасибо 👍🏿
источник

N

Nikita in Node.js — русскоговорящее сообщество
Vlad Sobenko
А зачем req, res, next пробрасываешь в роутах?
типа обертка (req,res,next) => ... ?
источник

G

Gleb in Node.js — русскоговорящее сообщество
Gleb
посмотрел на репо, чувство прекрасного от реализации требует чего-то попроще, в бизнес-логике много низкоурвневого кода,  я считаю в nest.js его так же много, но и тут его в разы больше. Наверное это вкусовщина, однако уже сильно привык к лаконичности описаний.
проблема двусторонних зависимостей решаются чисто логически выносом глобальной зависимости в третье из двух, так чтоб двое ссылались на третье а третье ни на кого.
источник

N

Nikita in Node.js — русскоговорящее сообщество
Gleb
проблема двусторонних зависимостей решаются чисто логически выносом глобальной зависимости в третье из двух, так чтоб двое ссылались на третье а третье ни на кого.
это общая рекомендация которая к сожалению не всегда работает
источник

N

Nikita in Node.js — русскоговорящее сообщество
здесь проблема конкретно в моем подходе, ведь AuthGuardу нужен нормальный authService или userService с забиндеными зависимостями, но они собираются только в индексе того модуля, а там же и роуты подключаются, которые и импортят этот guard, вот и круг замыкается...
источник

N

Nikita in Node.js — русскоговорящее сообщество
наверное лучше просто вынести роуты как отдельные вообще единицы
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
Nikita
типа обертка (req,res,next) => ... ?
Ты пишешь router.get(req, res, next) = controller.method(req, res, next)
А можно просто router.get(controller.method)
источник

N

Nikita in Node.js — русскоговорящее сообщество
Vlad Sobenko
Ты пишешь router.get(req, res, next) = controller.method(req, res, next)
А можно просто router.get(controller.method)
нельзя)) там тогда this теряется и получается this.usersRepository is undefined в контроллере
источник

N

Nikita in Node.js — русскоговорящее сообщество
пришлось вот такое городить либо через .bind()
источник

G

Gleb in Node.js — русскоговорящее сообщество
тогда требуется частное решение в частном случае, в ноде я не помню чтоб была проблема двухсторонних зависимостей, ну а циркуляцию зависимостей можно прерывать так же как останавливается рекурсия - передавая в функцию родителя, и если у родителя уже есть родители тогда просто return
источник