Node.js 디버거가 시작되지 않고 끼워넣으면 (더하기./해결)

Typescript에서 printf 디버깅이 아니라 console입니다.로그 디버깅을 사용할 때도 있지만 처리 대상이 커지면 몰라요.이를 위해 NestJS는 package.json 에서 Chrome 검사기를 즉시 시작할 수 있는 명령을 준비했습니다.
하지만 시동을 걸려고 갑자기 끼워넣었기 때문에 해결책이 남았다.node.js의 버전이 다르면 행동이 바뀔 것 같아서 만능은 아니라고 생각합니다.

잘못


node.js 디버거를 시작하는 곳은 순조롭게 진행되고 있습니다.
>npm run start:debug

> [email protected] start:debug <プロジェクトルート>
> nodemon --config nodemon-debug.json

[nodemon] 1.18.10
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: <プロジェクトルート>\src/**/*
[nodemon] starting `node --inspect-brk -r ts-node/register -r tsconfig-paths/register src/main.ts`
Debugger listening on ws://127.0.0.1:9229/8dd8a608-7627-4ad7-801e-bf112d379e6f
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Chrome에서 액세스start:debug하고 객체의 포트를 선택하는 데도 문제가 없습니다.

그러나 chrome://inspect 을 눌렀을 때 오류가 발생하여 명령 프롬프트에 다음과 같은 오류가 표시됩니다.
internal/modules/cjs/loader.js:605
    throw err;
    ^

Error: Cannot find module 'src/main.ts'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
    at Module._compile (internal/modules/cjs/loader.js:700:31)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at Module._preloadModules (internal/modules/cjs/loader.js:842:12)
    at prepareUserCodeExecution (internal/bootstrap/node.js:297:7)
    at startExecution (internal/bootstrap/node.js:275:5)
Waiting for the debugger to disconnect...
Chrome의 디버그 창에도 다음과 같은 오류 메시지가 표시됩니다.

GitHub 정보


오류 메시지9229inspect 등 키워드에서 Node11.4.0에서 오류가 발생한 쓰기를 발견했습니다.버전에 오류가 생겨서 새 버전이 무서워서...
Using ./index.js on the command line instead of index.js will make it work.
node -r ./preload.js --inspect-brk ./index.js
Not suggesting that requiring ./to start the path is OK or anything. Just offering it up in case it helps someone track what's gone wrong here.
경로 지정에 internal/modules/cjs/loader.js:605 을 더하면 잘 될 것 같다.

처리하다

inspector의 템플릿에서 생성된 ./ 에서 NestJS 에서 nodemon-debug.json 로 경로를 수정한 후 간단하게 수정합니다.며칠이 지나면 오류를 수정할 수 있지만, 지금은 이렇게 하면 된다.

수정 전
{
  "watch": ["src"],
  "ext": "ts",
  "ignore": ["src/**/*.spec.ts"],
  "exec": "node --inspect-brk -r ts-node/register -r tsconfig-paths/register src/main.ts"
}
수정 후
{
  "watch": ["src"],
  "ext": "ts",
  "ignore": ["src/**/*.spec.ts"],
  "exec": "node --inspect-brk -r ts-node/register -r tsconfig-paths/register ./src/main.ts"
}

좋은 웹페이지 즐겨찾기