Size: a a a

Советский Angular

2021 May 03

C☭

Chadwick ☭ in Советский Angular
а чем gitlab не устраивает?
источник

SS

Stanislav Sokolov in Советский Angular
гитлаб наверное лучше всего под раз раз и готово
источник

C☭

Chadwick ☭ in Советский Angular
Почему так?
источник

C☭

Chadwick ☭ in Советский Angular
Во всяком случае мы после Дженкинса на него перешли и довольны...
источник

SS

Stanislav Sokolov in Советский Angular
Ну потому что там просто настроить вроде все можно, меня правда его какая то тормознутость бесит и на апдейтах бывает  не все гладко
источник

IE

Igor' Ember in Советский Angular
forRoot() метод у модуля нужен для того, чтобы, если у нас ленивый модуль, то его providers подгрузились сразу и у них был один инсанс, доступный для всего приложения (как для lazy-loaded , так и для  eagerly-loaded  ) , да?
источник

c

const in Советский Angular
источник

IE

Igor' Ember in Советский Angular
ну, в общем, да.
источник

C☭

Chadwick ☭ in Советский Angular
источник
2021 May 04

IE

Igor' Ember in Советский Angular
Слушайте, я в одном проекте работала и там в конструкторе вместо классов указывали интерфейсы. Есть два вопроса, можете подсказать?
1. Как называется такая практика?
2. В каком месте приложения происходит определение какой класс на какой интерфейс подставлять при создании билда/в рантайме?
источник

IE

Igor' Ember in Советский Angular
хотя стоп, тупой вопрос
источник

IE

Igor' Ember in Советский Angular
Я ж это уже знаю
Там же dependency providers используются типа (useClass, useExisting, useValue, useFactory).
Прост доступа к коду того проекта уже нет, и только сейчас поняла что этот случай с интерфейсами в зависимостях как раз для dependecy providers и предназначен
источник

DT

Dmitriy Teplov in Советский Angular
Не думаю, что там именно интерфейсы, это технически не должно работать (т.к. в рантайме интерфейсов не существует), но там могли использоваться абстрактные классы которые имплементись частными реализациями
источник

IE

Igor' Ember in Советский Angular
код проекта уже не могу посмотреть((
источник

IE

Igor' Ember in Советский Angular
Но да, интерфейсы точно не могли быть, хотя я почему-то помню, что там в названии везде стояла буква I (типа ILoggerService). Ну, мб просто принято у них так было, и на самом деле абстрактный класс с имплементацией.
источник

IE

Igor' Ember in Советский Angular
хотя тогда очень много лапши писать…
источник

DT

Dmitriy Teplov in Советский Angular
Насколько я знаю, forRoot это просто устоявшееся имя статического метода, где принято выполнять какие-то операции по конфигурации модуля и возвращать нг модуль с синглтон провайдерами.

Таким образом, можно при импорте MyModule.forRoot() инжектить провайдеры и загружать какие-нибудь конфигурации, иконки регистрировать, а при импорте MyModule будут импортироваться только компоненты/директивы.

Это частный пример, какой-то определенной логики работы у forRoot нет.

Можно посмотреть примеры использования в популярных либах
источник

IE

Igor' Ember in Советский Angular
Не, конфигурация это не самое важное
Соль этого в том, что у лениво загружаемых модулей есть собственные инжекторы, providers которых конфликтует с providers у root’а (неясно какой инстанс делать, общий для них обоих или только для ленивого модуля). Логика для forRoot (да, название может быть любым) подразумевает что инстанс должен быть общим (синглтон на все приложение), а forChild подразумевает, что инстанс должен быть на уровне ленивого модуля свой, отдельный от рутового.
Ну а конфигурация это дополнительный бонус.
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
+
источник

IE

Igor' Ember in Советский Angular
Кто-нибудь использует вот эту штуку?
https://levelup.gitconnected.com/hmr-in-angular-cli-project-eb8512ef514b
Если я праивльно поняла, она вроде как позволяет добавить в проект на ангуляре hot reload с сохранением состояния
Если это действительно такая крутая штука, то почему почти ничего не слышно о ней?
источник