Развернуть приложение Angular 6 с библиотекой компонентов

Я создал приложение Angular 6, состоящее из библиотеки, содержащей компоненты, которые должны быть повторно использованы в будущем, и приложения. Я создал все, используя угловую Cli, поэтому у меня есть структура по умолчанию

my-app
 |
 +-projects
 |   |
 |   +-my-lib
 |      |
 |      +-src
 |      +-package.json
 |
 +-src
 +-package.json

Чтобы построить проект, я сначала собираю библиотеку, используя ng build my-lib --prod а затем собрать приложение с помощью ng build --prod, После этого каталог dist выглядит следующим образом

dist
 |
 +-my-app
 +-my-lib

Теперь у меня вопрос, как развернуть это на моем сервере, чтобы приложение имело доступ к библиотеке. Локально все работает, так что я должен просто передать весь dist каталог на мой сервер как обычно? Или я должен опубликовать библиотеку в npm и добавить ее в качестве обычной зависимости к моей package.json, И если да, то как мне настроить это, чтобы не мешать локальной разработке, где я хочу создать библиотеку в каталоге dist?

1 ответ

Решение

Ваш my-app сборка уже содержит my-lib поэтому библиотека должна быть достаточной для развертывания dist/my-app,

Что касается публикации в npm, то это действительно ваше дело.

Для местного развития, вы можете рассмотреть возможность использования npm link:

  1. cd dist / my-lib
  2. ссылка npm
  3. cd to / your / project / dir
  4. npm ссылка your-library-name (возможно my-lib)

Когда вы меняете библиотеку и строите заново, нет необходимости повторять ссылку, она подхватит новую версию.

Однако из моего опыта, когда вы обновляете или устанавливаете другие "обычные" пакеты, вы должны сделать ссылку снова.

Другие вопросы по тегам