2017-01-12 2 views
2

У меня есть собственное приложение, написанное в Angular2, состоящее из нескольких модулей. Чтобы сохранить порядок в коде, я обнаружил, что я должен изолировать все службы (для связи с API) для разделения модуля.Angular2: разделение всех сервисов на один модуль

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

Спасибо.

+2

Ознакомьтесь с руководством по стилю https://angular.io/docs/ts/latest/guide/style-guide.html – Aravind

ответ

4

Ваши услуги должны храниться в том же модуле, который их использует.

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

+0

Спасибо. :) Но я до сих пор не знаю, какие последствия изоляции всех сервисов для одного модуля. Могут ли они серьезно повредить приложение? Если да, то почему? –

+1

@JaroslawK. вред? не за что. Сложнее найти? скорее всего. Сложнее читать? Если у вас их все в одном файле, точно, если вы разделите их, то будет одинаково. Сложнее импортировать? Да. Не сказать, что в соответствии с руководствами по стилю, которые Aravind указал вам раньше, большинство разработчиков ожидают найти все сервисы модулей в одной и той же папке. – zurfyx

1

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

С углового 2 стилистического справочника, STYLE 04-11:

ли поставить службу одноплодной, экземпляр Виль совместно по всему приложению в CoreModule (например ExceptionService и LoggerService).

После всех рекомендаций, есть дерево и пример углового приложения с CoreModule (который хранит сервисы).

Смежные вопросы