Pull to refresh

Comments 4

А как вы решили проблемы одинаковых import'ов?


ERROR in : XXX ... is part of the declarations of 2 modules.


У меня две платформы и common.
Собираю в docker'е по одному — избегаю проблему.
В dev всё хорошо.


Также пробрасывал env в common.

Насколько я понимаю ошибка «ERROR in: XXX… is part of the declarations of 2 modules.» возникает, если некоторый компонент включен в несколько модулей, каждый из которых загружается в корневой. Избежать этого можно включая его всегда только в какой-то один (а для переиспользования в том числе и в секцию exports модуля), соответственно, в любом другом модуле, где нужен этот компонент, подключать соответствующий пакет вместо включения в declarations непосредственно сам компонент.

Для иллюстрации, я обновил код в репозитарии добавив еще одну библиотеку joke-lib и приложение joke-app.

Вообще концепция NgModules у Google не получилась простой, на мой взгляд. Когда «прямая видимость» кода не гарантирует работоспособность приложения с этим кодом — с этим как-то неуютно уживаться для тех, кто привык к простоте экосистемы JavaScript. А вся история по декомпозиции кода в ангулар-приложении крутится как раз вокруг разбиения всего приложения на NgModule's. Мне как-то встречалась такая аналогия — концептуально смотреть на NgModules как на аналог «сборок» в .NET или «JAR-пакетов» в Java — тогда их воспринимать становится немного полегче.
Эх, в angular 6 все перевернулось
Теперь это отдельная папка /projects
Пока не понятно с импортом библиотеки в таком случае
На мой взгляд, в ng6 они «в правильную сторону» начали «переворачиваться». Во всякм случае, оригинальная концепция, когда angular-cli управляет воркспейсом(т.е. группой проектов), а не одним проектом — начинает принимать законченные черты. Конечно, в реализации, есть нюансы, но в целом все становится более логично. В части импорта библиотек, по сравнению с ng5, возможностей просто стало больше. Если раньше они выглядели, как «приемные дети», то сейчас библиотеки ведут себя как «полноправные члены семьи». Подключать их к прокту по прежнемому можно как в виде исходников, так и в скомпилированном виде.
Sign up to leave a comment.

Articles