Вложенные угловые модули: не удается разрешить службу из пакета npm - PullRequest
0 голосов
/ 21 марта 2019

У меня есть приложение Angular 6, которое имеет следующую структуру вложенных модулей:

├── node_modules/
├── package.json <- no mention of ngx-cookie-service 
└── src/
    └── app/
        ├── app.module.ts
        └── sub-module/
            ├── node_modules/
            ├── package.json <- has dependency for ngx-cookie-service
            └── sub.module.ts

Цель этой структуры состоит в том, что подмодуль может быть опубликован в виде пакета npm, а модуль приложения предоставляет пользовательский интерфейс веб-сайта дляиспользуя функции подмодуля.

При попытке запустить ng build --aot для корневого проекта (appmodule) я получаю следующую ошибку:

ERROR in ./src/app/app.module.ngfactory.js
Module not found: Error: Can't resolve 'ngx-cookie-service/cookie- 
service/cookie.service' in 'myapp\src\app' 

Примечания:

  • Пакет npm стороннего производителя ngx-cookie-service с ошибкой объявляется как зависимость в package.json в sub-module.
  • sub.module.ts импортируется в @NgModuleв app.module.ts
  • Если я добавлю ngx-cookie-service в качестве devDependency в корневой пакет. json, сборка завершится успешно
  • Создание и обслуживание без --aot отлично работает

Мой первый вопрос:

Это проблема в моей конфигурации, или мне следует обратиться к автору ngx-cookie-service?

* 1034?* И еще один следующий вопрос:

Как повторноустранить эту ошибку, не добавляя зависимость для ngx-cookie-service в корневой пакет. json? (поскольку само это приложение не нуждается в службе cookie, оно требуется только подмодулю)

1 Ответ

1 голос
/ 21 марта 2019

Я предлагаю вам создать угловое рабочее пространство, где вы сможете создавать несколько библиотек и приложений.https://angular.io/guide/workspace-config

Плюсы

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

прочитайте этот пост для лучшего понимания

https://blog.angularindepth.com/angular-workspace-no-application-for-you-4b451afcc2ba

...