0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TypeScript + Serverless で VSCode debug

Posted at

ここに一応書いてある:

このお勧め設定

{
  "type": "node",
  "request": "launch",
  "name": "Debug Serverless Offline",
  "cwd": "${workspaceFolder}",
  "runtimeExecutable": "npm",
  "runtimeArgs": ["run", "debug"],
  "sourceMaps": true
}

を使えば、実行ボタンを押した時に npm run debug が実行されるので package.json に実行スクリプトを書けば良い。この際に

  • 環境変数 SLS_DEBUG=* をセットする。
  • node --inspect オプションをセットする。

必要があるので package.jsonscripts セクションに次のような物を追加すれば良い。

"debug": "SLS_DEBUG=* node --inspect node_modules/serverless/bin/serverless.js offline start",

ここで、--inspect というのは node がデバッグ情報を提供するオプションらしいのだが、なぜか無くても動く(あとで調べる)。なのですでに npm start に起動スクリプトがあれば

"debug": "SLS_DEBUG=* npm start",

でも動く。あと、TypeScript を使っている場合は tsconfig.json に "sourceMap": true, が必要。

{
  "compilerOptions": {
    ...
    "sourceMap": true,
  },
  ...
}

ちなみに、Auto Attach が有効になっている場合(default)、何もしなくてもターミナル内で node を動かせば勝手にデバッガが動き出す。なので sourceMap: true さえあれば npm start だけでもデバッグ自体は可能。ただ微妙に表示が見にくい。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?