Ссылка на пряжу, изменения в связанном пакете не отображаются в приложении хоста

Я учусь пользоваться yarn link работать над пакетом и отражать изменения в главном приложении, и я либо что-то не получаю, либо что-то не работает.

Все встроено в angular5..

У меня есть приложение MyApp, которое содержит, среди прочего, @org/my-package в node_modules,

Мне нужно внести изменения в мой пакет и для обслуживания изменений, которые я использую yarn link создать символическую ссылку и протестировать пакет в MyApp.

Вот что я делаю...

В моем пакете я запускаю сборку. Создает дистрибутивные файлы. Затем я вхожу в пакет dist и запускаю yarn link.. это успех.. я получаю инструкцию по использованию yarn link @org/my-package в MyApp Cli..

Затем я иду в MyApp, и я бегу yarn link @org/my-package, Это тоже успех..

Однако, когда я делаю изменения в my-package и снова запускаю сборку, они не отражаются в MyApp.

Что я не понимаю?

Я не получаю ошибок.

Является @org/my-package это в node_modules в MyApp должно быть или нет? не yarn link на dist в my-package означает переопределить это?

Независимо от того, сколько я ищу, похоже, что документация по пряже немного освещает эту тему.

3 ответа

Я столкнулся с подобной проблемой. Но то, что я сделал, отредактировал файл package.json в проекте, который зависит от библиотеки компонентов, например, "@org/my-package": "ссылка:../packages/dist/my-package" (отредактируйте путь) Это работает только с пряжей, если вы используете npm, это не вариант, но вы можете использовать ссылку npm.

Я должен был сделать установку пряжи после этого в проекте. Итак, когда вы перестраиваете my-package, @ org / my-package, который находится в node_modules в MyApp, должен быть обновлен.

Удалите node_modules и переустановите все пакеты и сбросьтеyarn link your_local_packageотлично работает для меня.

У меня тоже была эта пробема.

Когда я обновил свою библиотеку, это не отразилось на моем основном проекте. Я заглянул внутрь модулей и там был мой пакет. Все было хорошо и актуально, ничего не случилось. Тогда я решил удалитьangular\cacheпапку, и это сработало. Попробуйте этот параметр внутри вашего angular.json . Это сработало для меня:

      "cli": {
    "cache": {
        "enabled": false
    }
}

Дополнительную информацию об очистке кэша см.

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