169 похожих чатов

Добрый день. Подскажите пожалуйста, правильно ли импортить весь "SharedModule", в

котором 15 ненужных модулей для модуля "HistoryModule", если из "SharedModule" нужно всего 5?

21 ответов

18 просмотров
Александр-Лактионов Автор вопроса

Нужно ли тянуть все общие модули проекта, например 30 штук из Shared, если в действительности нужно пару модулей?

неправильно, нужно шаред модуль делить на маленькие подмодули

xxtux Shvets
неправильно, нужно шаред модуль делить на маленьки...

Зачем? Есть же тришейкинг, деление на субмодули только структурированность повысит

Александр-Лактионов Автор вопроса
xxtux Shvets
неправильно, нужно шаред модуль делить на маленьки...

например, из Shared сделать "SharedTableModule" ,"SharedTuiModule" и тд?

Александр-Лактионов Автор вопроса
Глеб Рябцев
Зачем? Есть же тришейкинг, деление на субмодули то...

А если приложение большое, с эстетической точки зрения не очень будет смотреться SharedModule. где 50-100 других модулей

советую подход SCAM - один компонент = один модуль. Тогда каждый модуль будет изолировать зависимости и функционал одного компонента, и webpack'у будет проще делать tree-shaking и разделять проект на файлы.

Maksim
советую подход SCAM - один компонент = один модуль...

Тут shared модули экспортирует, так что scam не подходит Хз, всегда без shared работал и норм было, просто не заглядывал, что там ide наимпортила

Maksim
советую подход SCAM - один компонент = один модуль...

Это хорошая штука до первого кольца зависимостей

Глеб Рябцев
Зачем? Есть же тришейкинг, деление на субмодули то...

удобнее управлять зависимостями. с шаредом потом не поймешь че где и как аккуратно заменить

Maksim
советую подход SCAM - один компонент = один модуль...

Плодить модуль на каждый компонент - раздувать бандл сайз без причины

Raman Yazvinski
А как с ним получить циркулярку?

Если компонент = модуль, то рано или поздно в большом проекте получится: CompA imports CompB CompB imports CompC ....N imports M.... CompC imports CompA

Raman Yazvinski
CompC imports CompA кааак, они же атомарны

Если они все нижайшего уровня, когда каждый из них не требует импорта - вопросов ноль, но смысл же в реиспользовании компонентов. И любой частый в бизнесе кейс или редактор модели станет камнем преткновения всего дерева

Никита Лебедев
Если они все нижайшего уровня, когда каждый из них...

Ааа, кажется понял, о чем вы Типа scam только для ui-core, а для страниц/форм обычные модули с кучей компонентов У меня такое деление

Raman Yazvinski
Ааа, кажется понял, о чем вы Типа scam только для ...

Ну в целом да, обёртки над 3rd party или простейшие формочки ввода - это все прекрасно работает на scam и действительно удобно, спорить тут сложно. Но первая же сложная модель которая циклична в своей сути (дерево например) вызвало цикл зависимостей, который кроме как мержом в один модуль не удалось разрешить

модули которые вызывают цикличные зависимости можно динамично импортировать и собирать с помощью createNgModuleRef

Maksim
модули которые вызывают цикличные зависимости можн...

Да, но это ломает tree-shacking и является сокрытием ошибок модульности приложения. Каждый такой кейс хорошо бы разбирать отдельно и решать на месте. Вероятность того, что модули вызвавшие цикл должны быть декомпозированы и реорганизованы по опыту всегда высока.

Никита Лебедев
Ну в целом да, обёртки над 3rd party или простейши...

Хз, никогда не получалось на такое наткнуться Дерево по идее через ng-content + contentChildren спокойно резолвится, я сто лет назад лазил в его реализацию и не вспомню уже

Raman Yazvinski
Хз, никогда не получалось на такое наткнуться Дере...

Если есть модель в духе такой, то тут лучше решение как иметь компонент <class-a-editor> и <class-b-editor> в одном модуле я не нашел к сожалению, возможно я что-то упускаю конечно. ClassA { prop1: string; prop2: ClassB; } ClassB: { prop1: number; prop2: ClassA; }

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта