Ссылка на пряжу, изменения в связанном пакете не отображаются в приложении хоста
Я учусь пользоваться 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
}
}