¿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.3
tasks.json for angular/cli >= 1.3
Probado con angular 2.4.8
launch.json
launch.json
(ver abajo)ng serve
)launch.json for angular/cli >= 1.0.0-beta.32
launch.json for angular/cli < 1.0.0-beta.32
fuente
NG Live Development Server
y luego iniciarChrome
con solo unF5
clic?launch.json
y lotasks.json
hace aquí. Como entendílaunch.json
es iniciar el servidor de nodo y escuchar el puerto 8080, y datasks.json
instrucciones para usarnpm
y ejecutar el comandong serve
para 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.json
archivo agregue la siguiente configuración:Ejecute el servidor de desarrollo Webpack desde la CLI angular ejecutando
npm start
Adjuntar a un proceso existente
Para eso necesitas ejecutar Chrome en modo depurador con puerto abierto (en mi caso será
9222
):Mac:
Ventanas:
launch.json
el archivo se verá de la siguiente manera:npm start
En 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 serve
y 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 ahorashell
y las llamadas de comando se agreganstart
antes,ng serve
por lo queng serve
pueden 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é unapreLaunchTask
a 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 serve
que 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