Просмотр внешней локальной библиотеки при обслуживании приложения - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть основное приложение и несколько библиотек, которые не зависят (не являются частью основного приложения). Сейчас, когда я работаю над библиотекой, я включаю .tgz в пакет основного приложения. json. Проблема в том, что мне нужно сначала собрать / упаковать библиотеку, а затем обслуживать основное приложение, чтобы увидеть изменения.

Можно ли обслуживать основное приложение, наблюдая за изменениями в библиотеке? Я знаю, что могу собрать --watch библиотеки, но мне все еще нужно упаковать, чтобы получить .tgz

Есть идеи? Thx

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Вы можете добавить путь, который указывает на основной файл экспорта в вашей библиотеке, в вашем tsconfig.json;

"compilerOptions": {
    "paths": {
        "my-library": ["path/to/the/librarys/index.ts"]
    }
}
0 голосов
/ 21 февраля 2020

npm предоставляет команду link, которую можно использовать для связи вашего приложения локальной библиотеки с основным приложением.

Просто выполните следующие действия, чтобы связать вашу локальную библиотеку.

  1. Откройте приложение библиотеки и перейдите в папку dist/<your_lib>. Убедитесь, что ваша сборка запущена в режиме наблюдения, чтобы основное приложение могло принимать изменения на лету.

  2. Запустите команду npm link.

  3. Откройте главное приложение и выполните следующую команду в каталоге root npm link <lib_app_name>.

  4. Откройте angular. json вашего основного приложения. Под architect -> build -> options добавьте это свойство "preserveSymlinks": true.

  5. Теперь добавьте модуль приложения lib в app.module.ts вашего основного приложения и начните использовать Компоненты / службы приложения lib.

  6. Создайте и обслуживайте свое приложение как обычно, используя ng serve. Ваше приложение должно теперь с компонентами / службами приложения lib без каких-либо ошибок.

Если вам интересно, как это работает, npm link создает символическую ссылку на ваше приложение lib, делая ваше основное приложение подумайте, что npm установил ваше приложение lib в node_modules. Для получения дополнительной информации см. официальные документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...