Angular 7 - Установить локальную библиотеку (не опубликовано) - Настройка проекта - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть приложение Angular с основным модулем и общим модулем.Моя архитектура выглядит так:

./repo
  | projects
    | core
    | shared
  | src (my app)

Когда я собираю библиотеки, папка вывода является dist-lib / *
Когда я строю приложение, папка вывода является dist / *

Поэтому я использовал npm install, чтобы включить мои библиотеки в мое приложение:
- "core": "file: ./ dist-lib / core" - "shared": "file: ./ dist-lib / shared"

Все отлично работает, но у меня возникает проблема, когда кто-то настраивает проект.Проект не может установить npm из-за того, что библиотеки не найдены (dist-lib / core не найден ...), и я не могу собрать библиотеки, потому что у меня не установлен ng-packager (требуется установка npm).

Я попытался поместить core & shared в необязательные зависимости.Ничего лучше.

Я мог бы переместить мои библиотеки в другое угловое приложение, но это не смешно.

Кто-то?

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Я не хочу публиковать, потому что библиотеки находятся в разработке.

Итак, я наконец-то нашел проблему.Это был package-lock.json, который пытался проверить версию пакетов ...

Итак, моя последняя команда для настройки проекта (с ядром и общими библиотеками в AdditionalDeps):

rimraf./package-lock.json && npm install && npm run build: core && npm run build: shared && npm install

  • Удалить .package-lock.json
  • npm установить без библиотек
  • сборка базовых и общих библиотек
  • npm установка библиотек
0 голосов
/ 27 февраля 2019

Так что проблема в зависимостях npm (по сути, это не имеет никакого отношения к Angular).Чтобы решить эту проблему, вы можете опубликовать модули на npm (что, вероятно, не хотите делать) или опубликовать их в частном репозитории.

Подробное руководство по последнему решению можно найти здесь:
https://docs.npmjs.com/misc/registry

Таким образом, вы можете разместить свои модули на своем компьютере / сервере.После того как вы добавили частный репозиторий в свой package.json, вы можете добавить их как свои зависимости, как если бы они были обычными пакетами npm.

...