¿Cómo configuro Angular y VSCode para que funcionen mis puntos de interrupción?
angular
debugging
webpack
visual-studio-code
Asesjix
fuente
fuente

Respuestas:
Probado con Angular 5 / CLI 1.5.5
launch.json(dentro de la carpeta .vscode)launch.json(ver abajo)tasks.json(dentro de la carpeta .vscode)tasks.json(ver abajo)launch.json for angular/cli >= 1.3tasks.json for angular/cli >= 1.3Probado con angular 2.4.8
launch.jsonlaunch.json(ver abajo)ng serve)launch.json for angular/cli >= 1.0.0-beta.32launch.json for angular/cli < 1.0.0-beta.32fuente
NG Live Development Servery luego iniciarChromecon solo unF5clic?launch.jsony lotasks.jsonhace aquí. Como entendílaunch.jsones iniciar el servidor de nodo y escuchar el puerto 8080, y datasks.jsoninstrucciones para usarnpmy ejecutar el comandong servepara ejecutar la aplicación.Parece que el equipo de VS Code ahora está almacenando recetas de depuración.
https://github.com/Microsoft/vscode-recipes/tree/master/Angular-CLI
fuente
Hay dos formas diferentes de hacerlo. Puede iniciar un nuevo proceso o adjuntarlo a uno existente.
El punto clave en ambos procesos es tener el servidor de desarrollo webpack y el depurador VSCode ejecutándose al mismo tiempo .
Lanzar un proceso
En su
launch.jsonarchivo agregue la siguiente configuración:Ejecute el servidor de desarrollo Webpack desde la CLI angular ejecutando
npm startAdjuntar a un proceso existente
Para eso necesitas ejecutar Chrome en modo depurador con puerto abierto (en mi caso será
9222):Mac:
Ventanas:
launch.jsonel archivo se verá de la siguiente manera:npm startEn este caso, el depurador se adjunta al proceso existente de Chrome en lugar de abrir una nueva ventana.
Escribí mi propio artículo, donde describí este enfoque con ilustraciones.
Instrucciones simples sobre cómo configurar el depurador para Angular en VSCode
fuente
chrome.exe --remote-debugging-port=9222. ¿Hay alguna alternativa para la configuración única?Esto se explica en detalle en el sitio de Visual Studio Code: https://code.visualstudio.com/docs/nodejs/angular-tutorial
fuente
Puede usar esta configuración:
fuente
Aquí hay una solución un poco más ligera, funciona con Angular 2+ (estoy usando Angular 4)
También agregó la configuración para el Servidor Express si ejecuta la pila MEAN.
fuente
La respuesta de @Asesjix es muy exhaustiva, pero como algunos han señalado, aún requiere múltiples interacciones para comenzar
ng servey luego iniciar la aplicación Angular en Chrome. Obtuve esto trabajando con un solo clic usando la siguiente configuración. La principal diferencia con la respuesta de @ Asesjix es que el tipo de tarea es ahorashelly las llamadas de comando se agreganstartantes,ng servepor lo queng servepueden existir en su propio proceso y no bloquear el inicio del depurador:task.json:
launch.json:
fuente
En mi caso, no había usado el árbol de carpetas del proyecto Angular original y sabía que algo iba mal con el
webRoot/{workspaceFolder}bit, pero toda mi experimentación no arrojó ningún resultado. Recibí un consejo de otra respuesta SO que vincularé si lo encuentro nuevamente.Lo que me ayudó fue encontrar el contenido de la variable
{workspaceFolder}en tiempo de ejecución y luego modificarlo a la ubicación de mi carpeta "src" en la que tienes "app / *". Para encontrarlo, agregué unapreLaunchTaska mi archivo launch.json y una tarea para generar el valor{workspaceFolder}.launch.json , que aparece después de instalar el depurador de Chrome
Tasks.json No presente de forma predeterminada. Presiona Ctrl + Shift + p y creo que se llama 'crear tarea para otro comando' o algo similar. Parece que no puedo verlo después de que se crea task.json. También podría simplemente crear el archivo en la misma ubicación que launch.json
Una vez que supe el valor de $ {workspaceFolder}, lo arreglé para apuntar a mi carpeta src en mi nuevo árbol de proyectos y todo funcionó. La depuración requiere
ng serveque se haya ejecutado como tarea de prelanzamiento o como parte de la compilación (ejemplos anteriores) o en un símbolo del sistema.Aquí hay un enlace a todas las variables que puede usar:
fuente