Я смотрел на это: https://github.com/mgechev/angular-seed, чтобы понять систему угловых модулей в ее самой простой форме.Система Angular2 с TS
В этом проекте семян есть SharedModule
, который имеет как index.ts
, так и shared.module.ts
. В shared.module.ts
он экспортирует Угловой путь - с директивами, экспортом, поставщиками и т. Д. В index.ts
он реэкспортирует их. В app.module.ts
он импортирует SharedModule.forRoot()
, что идеально - это регистрирует NameListService
, чтобы быть доступным для всего приложения. Однако, когда необходимо использовать NameListService
, его необходимо импортировать, и это делается через import { NameListService } from '../shared/index';
, как представлено в home.component.ts
, который, кстати, является частью home.module.ts
, который также импортирует SharedModule
.
По моему мнению, это совершенно неправильно.
Зачем мне это нужно импортировать - это нарушает модульность - что делать, если я использую модуль, который я не написал, и, следовательно, не знаю, где именно искать файл?
Почему бы мне тогда не заниматься созданием и регистрацией вещей в shared.module.ts
, если тогда мне придется использовать их через shared/index.ts
вместо того, чтобы просто использовать shared/index.ts
?
С наилучшими пожеланиями
Да. Я знаю это, но все же кажется странным (ненужным) использовать обе системы бок о бок, не связывая их друг с другом. Моя проблема с приведенным выше примером заключается в том, что я должен указать, где UserService находится по пути, даже если он является частью действительного модуля Angular. – mp3por
Я обновил свой ответ –