Источник изображения
Итак, здравствуйте, прошло некоторое время, и я не следил за своими ежедневными рассылками, или, возможно, мои дни длиннее ваших. Относительность, кто знает?
Итак, я играл с проектом Node.js, размещая его с помощью Docker вместе с базой данных Postgres.
И все было хорошо и прекрасно, пока я не захотел отладить ошибку на VSCode.
И не смог.
Поэтому я пошел далеко и широко, поговорил со многими друзьями (хотелось бы) и наткнулся на эту классную статью Отладка некомпилированного кода Typescript, запущенного в контейнере Docker | автор Mitsuhide Ohi | Medium.
Эта статья направила меня в нужное русло, но мне пришлось добавить несколько вещей.
1 — Прежде всего, мне не нужно было добавлять отладочный скрипт в package.json. Я просто заменил свой флаг —inspect на itself + server_address:port —inspect=0.0.0.0:9229.
2 — Я добавил следующую строку в свой tsconfig.json.
"sourceMap": true
3 — Здесь все сильно отличается от статьи, в моей конфигурации vscode launch.json не использовался sourceMapPathOverrides (он ничего не делал для меня).
Вместо этого я заменил его этими двумя классными свойствами (remoteRoot и localRoot):
4 — Теперь в файле docker-compose.yml я добавил к сервису mainApp порт docker для отладки.
5 — После всего этого мне пришлось запустить docker-compose up -d —build —force-recreate, так как я изменил файл docker-compose.yml.
И тут БУМ! Все заработало.
😗 Понравилась моя статья?
Перешлите другу и сообщите им, где они могут подписаться (подсказка: здесь).
Что-нибудь еще? Просто поздоровайтесь в комментариях :).
Присоединяйтесь к эксклюзивному сообществу, дружественному к технике! Общайтесь с единомышленниками, которые интересуются технологиями, дизайном, стартапами и развитием онлайн — подайте заявку здесь.