Size: a a a

Angular - русскоговорящее сообщество

2020 May 03

П

Пёß Цифроwого Сопрот... in Angular - русскоговорящее сообщество
как же все таки херово назвали части связывания
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Нужно сделать папочку users, и положить туда все, что относится к users:
routes
modules
components
services
entities
interseptors
pipes
etc
а как это скажется на размере бандлов? если, к примеру, у меня есть несколько страниц, которые импортируют этот users модуль, но одной странице нужен только сервис оттуда, другой – гард, а третьей – компонент с пайпом. но все три страницы импортируют модуль целиком
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
это всё как-то будет тришейкаться или дробиться на чанки? или просто полный размер модуля будет включён в чанк каждой страницы? все страницы lazy
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Alex Orlovsky
а как это скажется на размере бандлов? если, к примеру, у меня есть несколько страниц, которые импортируют этот users модуль, но одной странице нужен только сервис оттуда, другой – гард, а третьей – компонент с пайпом. но все три страницы импортируют модуль целиком
Зачем импортировать лейзи модуль?
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
хм, чет не ожидал что ReplaySubject будет сохранять данные даже после своего комплита и воспроизводить их
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
Let me take you into the light
Зачем импортировать лейзи модуль?
feature модули не лейзи, только pages лейзи
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
сейчас скину условную структуру
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Alex Orlovsky
feature модули не лейзи, только pages лейзи
Я понял о чём ты, ну этот модуль ничего не експортит
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Там лежит только то что юзаеться на уровне модуля
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Если тебе надо что-то реюзабл ты ложишь в отдельную папку, модуль и связку делаешь на чём-то
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
Let me take you into the light
Я понял о чём ты, ну этот модуль ничего не експортит
да, но модуль из pages импортирует feature модули из modules. но юзает не всё, что feature модуль экспортирует
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Alex Orlovsky
да, но модуль из pages импортирует feature модули из modules. но юзает не всё, что feature модуль экспортирует
Понял, и вопрос в том как фреймворк бориться с unused deps
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Ну у нас на проекте, 1 модуль 1 export (было до того как я пришёл на проект)
источник

С

Степан in Angular - русскоговорящее сообщество
Скиньте уже структуру кто то :) а то все вокруг до около ходим
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
+ можно почитать про TSP
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
Let me take you into the light
Понял, и вопрос в том как фреймворк бориться с unused deps
да. то есть, я понимаю преимущество такого подхода в плане масштабируемости и вот этого всего, но что с бандлами?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Alex Orlovsky
а как это скажется на размере бандлов? если, к примеру, у меня есть несколько страниц, которые импортируют этот users модуль, но одной странице нужен только сервис оттуда, другой – гард, а третьей – компонент с пайпом. но все три страницы импортируют модуль целиком
Angular оптимизирует это так, что если это используется только в одном lazy module, то в другие lazy modules не попадет.

Если это используется в нескольких lazy modules, то это будет вынесено в отдельный чанк, который будет общим для этих модулей.

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

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Angular оптимизирует это так, что если это используется только в одном lazy module, то в другие lazy modules не попадет.

Если это используется в нескольких lazy modules, то это будет вынесено в отдельный чанк, который будет общим для этих модулей.

Если это используется в рутовом модуле, то это попадет в основной бандл.
то есть, как я и предполагал, в моём примере будет отдельный чанк для feature модуля и три чанка для страниц, и каждая страница качает feature чанк целиком
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
тогда, при таком подходе очень важно правильно делить всё на feature модули, чтобы они были как можно меньше и содержали только необходимое, правильно? потому что если делить всё приложение просто на страницы, то понятно, что каждая страница содержит в себе только необходимое. но когда страница – это набор импортируемый feature модулей, то может попасться и что-то лишнее. и нам бы хотелось, чтобы лишнего было как можно меньше, значит и модули должны быть меньше
источник

AO

Alex Orlovsky in Angular - русскоговорящее сообщество
поправьте, если ошибаюсь, пожалуйста. может, я вообще не так понял, как вы предлагаете делить на папочки)
источник