2017-02-10 14 views
3

Я хочу написать новостной сайт, где пользователь будет доступен только после входа в систему. Я могу написать все в app.module, но хочу иметь хорошую архитектуру, и мне нужен совет.При создании модуля angular2

Должен ли я создать другой модуль для учетной записи? Должен ли я создать еще один модуль для статей?

Так что я буду иметь

app.module

articles.module

account.module

Это хорошая практика?

Я должен передать идентификатор сессии по каждому запросу после входа в систему. Было бы лучше?

app.module // + папка счет, на котором будут желательные компоненты/услуги articles.module

+0

@Kinduser Ваш комментарий совершенно неправ. Вам не нужно создавать более одного модуля для всего приложения –

+0

@FredrikLundin Вам не нужно создавать несколько модулей, но если вы создадите другой модуль для каждой разной функциональности, это будет хорошей практикой. На мой взгляд, для этого модуля учетной записи приложения есть разная функциональность, в то время как статьи или модуль приложения имеют свою собственную функциональность. Более того, модуль приложения должен быть корневым модулем. Исправьте меня, если я ошибаюсь –

+0

@DatoMaisuradze Определенно согласен, я просто отвечал на комментарий Kindusers: «Вам нужен один модуль для каждого компонента, вот как работает угловой». Я вижу, что комментарий удален сейчас, поэтому мой ответ на это на самом деле не имеет смысла;) –

ответ

2

Если рамки позволяют сделать что-то, это не значит, что это хорошо.

Просто отделите свой код на логические части и создайте модули для этих частей. Если у вас есть админ-часть, вы можете написать AdminModule. Один модуль также для части пользователя, но если статьи являются только компонентом под номером UserModule, вам также не нужно создавать для него модуль. Также вы можете загрузить независимые модули lazily, что увеличит производительность вашего приложения.

Так что я думаю, что если у вас есть много компонентов под одной логикой и работает отдельно, вы должны поместить их в одинmodule

2

Согласно Angular2 официальному руководству (https://angular.io/docs/ts/latest/guide/ngmodule.html), модуль используется для организации приложения в единые блоки функциональности. Рекомендуется создать модуль ArticlesModules, который поддерживает все функции, касающиеся статей и AccountsModule, для всех функций учетной записи. Эти модули называются функциональными модулями. Модули функций используются как четкие границы между функциональными возможностями и функциями приложения.