2016-11-07 7 views
2

Я хотел бы знать, где я должен генерировать angular2 service? В последней документации angular2 говорится, что ее можно создать в папке app, однако некоторые обучающие видеоуроки, которые я отслеживаю, содержат папку shared, предварительно созданную, в которой создаются службы. Я мог бы создать эту папку, но я хотел бы знать, что подходит и почему?Где я могу создать или создать Сервис?

app-name/src/app/service-name.service.ts

ИЛИ

app-name/src/app/shared/service-name.service.ts

+1

Это не влияет на то, как работает ваше приложение. Это как раз то, как вам нравится организовывать вещи. Например, я создаю службы модулей в папке модуля и независимых сервисах в своих собственных папках. – Sefa

+0

Услуги предназначены для совместного использования компонентами, не так ли? поэтому в этом смысле я был смущен, если бы их создание в отдельной общей папке имело бы какое-либо значение. Но то, что вы сказали, справедливо. Спасибо :) – Pragun

ответ

3

Я предполагаю, что вы используете Angular-cli Структура папки. если вы не используете Angular-cli, пожалуйста, используйте его.

Предположим, у вас есть Компонент A и компонент B.

Компонент A: хотите использовать сервис S1.

Компонент B: хотите пользоваться услугой S2.

В этом случае вы создаете службу S1 в папке Component A и S2 в папке Component B.

Предположим, что Компонент A и компонент B хочу использовать сервис S3. в этом случае вы должны создать службу в общей папке.

сводка: если вы создаете сервис, который используется большинством компонентов вашего приложения, то вы должны создать в общей папке. или 1 компонент , используя 1 сервис, который вы должны создать в этой конкретной папке компонента .

2

Это полностью зависит от того, как вы отводками в архитектуре приложения. Angular 2 рекомендует группировать модули/домены, следовательно, у вас есть имя каждого файла в домене, заканчивающемся на .service, .module, .pipe, .directive и т. Д. Группировка модуля и связанного с ним содержимого вместе в его папке позволит легко поддерживать отдельный модуль отдельно, не меняя другие части приложения. Также маршрутизация внутри модуля может быть локализована внутри этого модуля.

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

+0

Я ценю это. Благодаря! – Pragun