Tengo un proyecto de nodo escrito en mecanografiado. El proceso se ejecuta dentro de un contenedor docker usando Nodemon. node (a través de nodemon) se ejecuta dentro del contenedor con la opción --inspect . Cuando intento conectarme con Webstorm al proceso, se conecta pero no se alcanzan puntos de interrupción.
Este comando se usa en el package.json para comenzar:
tsc-watch --incremental --onFirstSuccess "sh -c 'tscpaths -p tsconfig.json -s ./src -o ./dist/src && nodemon -L --inspect=0.0.0.0:9229 dist/src/main.js --config nodemon-debug.json'" --onSuccess "sh -c 'tscpaths -p tsconfig.json -s ./src -o ./dist/src && touch ./dist/src/main.js
Explicación: use tsc-watch para ver cambios en el código. Después de la primera compilación exitosa, ejecute tscpaths para reemplazar los accesos directos de la ruta, luego ejecute nodemon con la opción de inspect (que se pasa al nodo). Después de cada compilación exitosa, ejecute tscpaths y toque el archivo main.js para activar nodemon para reiniciar el proceso.
configuración de nodemon (ver solo el archivo main.js que se toca después de cada compilación por tsc-watch ):
{ "watch": [ "./dist/src/main.js" ], "ext": "js" } El puerto 9229 del contenedor docker está asignado al puerto 9666 en la máquina host en docker-compose.yml , y en Webstorm utilizo la configuración "Adjuntar a Node.js/Chrome" para adjuntar al puerto localhost 9666.
El archivo tsconfig.json incluye "sourceMap": true .
Todo este proceso de compilación automática + reinicio en cada cambio de código funciona. El depurador se adjunta en Webstorm (la pestaña Depurador dice "Conectado a localhost: 9666 - dist/src/main.js"). El problema es que no se alcanzan puntos de interrupción. No están marcados con una "V" y no se golpean durante la ejecución.
¿Algunas ideas?
Uso de Webstorm 2021.1 en Windows 10.
Hay algo que debe configurar en el depurador.
Eche un vistazo a la configuración, y hay algo llamado URL remotas de archivos locales (opcional) . Debe especificar RemoteURL para su archivo/directorio para que pueda activar el depurador.