Утрата эргономики разработчика после упаковки кода в виде библиотеки - PullRequest
0 голосов
/ 26 августа 2018

Я сделал несколько приложений (используя webpack, babel, реакции, d3, npm и т. Д.), Которые используют очень похожий код для построения графиков. Я нахожусь в процессе разделения этого кода кода на пакет npm, который затем могут импортировать несколько приложений.

Чтобы проверить это, я встроил демонстрационное приложение в каталог проекта моих библиотек диаграмм и установил библиотеку по ее пути к файлу. Теперь, предположительно, я смогу установить это в зависимости от приложений A, B и C и так далее, и я могу изменить свою библиотеку диаграмм, и все приложения будут отражать эти изменения.

Первое, что я заметил, это то, что теперь мне нужно cd в мою библиотеку диаграмм и запускать npm run build (который запускает webpack) каждый раз, когда я что-то меняю, а затем cd в зависимое приложение, над которым я работаю и запустить npm i. Возможно, это можно улучшить с помощью npm link, но там также есть проблемы (например, управление версиями и развертывание на моем сервере). Итак, мой первый вопрос о том, как выглядит приличный подход к быстрой разработке, когда мой код для построения диаграмм находится в отдельном проекте npm.

Другая проблема, которую я заметил, заключается в том, что я потерял две ценные функции в отношении кода библиотеки графиков. Завершение кода в VSCode и отладка в инструментах Chrome Dev. Я не уверен, почему завершение кода VSCode перестало работать. А что касается отладки, как я могу отлаживать как зависимое приложение, так и библиотеку, зависящую одновременно в chrome?

1 Ответ

0 голосов
/ 26 августа 2018

Я бы использовал npm link. Это очень полезно при работе над библиотекой и ее интеграции рядом.

Проверьте настройки Chrome, чтобы убедиться, что не пропускаются библиотеки в Settings -> Framework Blackboxing, см., Например, http://blog.edenhauser.com/tell-chrome-debugger-to-ignore-libraries/.

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