node.js - Depuración de una aplicación NestJS en Nx usando una configuración de lanzamiento de VScode
En VSCode, estoy intentando lanzar una aplicación NestJS usando Nx en modo depuración. Actualmente estoy usando la extensión de depuración js nightly de VSCode. No estoy seguro de qué está fallando aquí. También he intentado agregar type "module" al archivo package.json y eso tampoco funcionó. Tuve que agregar también la variable TS_NODE_PROJECT porque sin ella recibía un error diciendo que no se podía encontrar el archivo tsconfig.json. Actualmente estoy recibiendo el siguiente error:
Users/user/Documents/angular_projects/nestwktest/apps/api/src/main.ts:5
import { __awaiter } from "tslib";
^^^^^^
node_modules/source-map-support/source-map-support.js:499
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:891:18)
at Module._compile
(/Users/user/Documents/angular_projects/nestwktest/node_modules/ts-
node/src/index.ts:1056:23)
at internal/modules/cjs/loader.js:991:10
at Object..ts (/Users/user/Documents/angular_projects/nestwktest/node_modules/ts-node/src/index.ts:1059:12)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function._load (internal/modules/cjs/loader.js:723:14)
at Function.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11
Process exited with code 1
aquí está mi launch.json
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Debug Nest Framework",
"args": [
"${workspaceFolder}/apps/api/src/main.ts"
],
"runtimeArgs": [
"--nolazy",
"-r",
"ts-node/register",
"-r",
"tsconfig-paths/register"
],
"sourceMaps": true,
"cwd": "${workspaceRoot}/apps/api/",
"internalConsoleOptions": "openOnSessionStart",
"protocol": "inspector",
"env": {
"TS_NODE_PROJECT": "${workspaceFolder}/apps/api/tsconfig.json"
},
"skipFiles": ["<node_internals>/**", "node_modules/**"],
},
{
"name": "Attach to NestJS API",
"stopOnEntry": "flase",
"port": 9229,
"request": "attach",
"type": "pwa-node"
},
{
"name": "Launch Chrome against localhost",
"request": "launch",
"type": "pwa-chrome",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}"
}
]
}
Aquí está la estructura de mi archivo
Por la mayoría de lo que he visto en línea, esto debería estar funcionando.
Respuesta #1
Estaba enfrentando el mismo problema. Eliminé el archivo launch.json. Activé la función auto attach --> smart y funcionó bien. Si tus puntos de interrupción desde el archivo de código aún no están vinculados después de que el depurador se haya adjuntado, intenta agregar los puntos de interrupción desde debugger -> loaded scripts --> src -> apps/abc/app.controller.ts
