node.js - Depuración de aplicación Angular con el depurador de Typescript de Intellij
Estoy tratando de depurar una aplicación Angular desde Intellij 2021. Así que estoy usando los depuradores de Typescript y Javascript de Intellij.
Mi sistema operativo es Ubuntu. Versión de Node.js v16.14.2.
Estoy siguiendo este tutorial en video. Pero creo que la estructura de mi proyecto es diferente. En el video parecen tener dos proyectos separados: un proyecto de Java para el backend y un proyecto de Angular para el frontend.
En mi caso, ambos extremos están en un proyecto: es un proyecto Java en el que el proyecto Angular está en una carpeta dentro del proyecto Java. Inicio ambos proyectos con sbt run desde la raíz del proyecto Java.
Y luego Angular escucha en el puerto 4200, Java escucha en el puerto 9000.
Entonces, para depurar el proyecto de Angular, inicio ambos proyectos con sbt run. Lo hago porque quiero que el proyecto de Java se inicie.
Según el video, ahora tengo que hacer en otra terminal, desde la carpeta de Angular, npm start.
¡Pero espera! Eso intentaría iniciar otro proyecto de Angular en el puerto por defecto de Angular 4200, al cual ya está escuchando otro proceso de Angular. Así que hago en su lugar: npm start -- --port 4201. Y, en consecuencia, cambio la URL en la configuración de depuración de JavaScript de IntelliJ a http://localhost:4201.
El navegador que elegí en esa configuración fue Chrome, y le di la ruta de instalación de Chromium.
Ahora, según el video, cuando npm start -- --port 4201 se complete, puedo iniciar el depurador haciendo clic en el botón verde de depuración.
Pero no funciona. 😟 Después de unos segundos recibo el mensaje:
Esperando conexión a localhost: 39807.
Por favor, asegúrese de que el navegador se haya iniciado correctamente con el puerto de depuración remota abierto. El puerto no se puede abrir si Chrome con el mismo Directorio de Datos de Usuario ya está ejecutándose.
No sé de dónde vino "39807". En settings > debugger > built-in server de IntelliJ, el puerto especificado es un número diferente.
¿Alguna idea de cómo arreglarlo?
Respuesta #1
Según el video, ahora tengo que hacer en otra terminal, desde la carpeta Angular, npm start. ¡Pero espera! Eso intentaría iniciar otro proyecto Angular en el puerto predeterminado de Angular 4200, al cual otro proceso Angular ya está escuchando
Si tu aplicación Angular ya está iniciada con sbt run y escuchando en el puerto 4200, no veo ninguna razón para iniciar otro servidor con npm start; solo usa la configuración JavaScript Debug con la URL de tu aplicación que normalmente usas para acceder a ella en el navegador (http://localhost:4200 o como sea que se vea)
Después de unos segundos estoy recibiendo el mensaje
Por favor, asegúrate de que no haya instancias de Chrome en ejecución cuando inicies el depurador. Además, ¿Chrome está instalado con snap? La depuración no funciona con Chromium instalado con snap debido a problemas de permisos, consulta https://youtrack.jetbrains.com/issue/WEB-38511#focus=Comments-27-4472759.0-0 para más información/solución. Puedes probar con una versión diferente de Chrome siguiendo las instrucciones en https://askubuntu.com/questions/1204571/how-to-install-chromium-without-snap. Esto en realidad utiliza los paquetes de chromium del repositorio de Debian y no snap.
