Babel、jest、およびvsコードを使用して単純なプロジェクトをデバッグしようとしています。ブレークポイントを設定してからデバッグを開始すると、ブレークポイントが飛び跳ねて、開始時の場所になくなります。サンプルのレポはこちらにあります- https://github.com/RyanHirsch/starter-node
次を含むようにlaunch.json
を更新しました
{
"name": "Jest",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
"stopOnEntry": false,
"args": ["-i", "${file}"],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"sourceMaps": true,
"protocol": "inspector"
}
そして、私の.babelrc
は次のようになります。
{
"plugins": ["@babel/plugin-proposal-object-rest-spread"],
"sourceMaps": "inline",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "6.10"
}
}
]
]
}
ソースマップオプションはこれを機能させるのに十分だと思いましたが、私は間違っていました。ブレークポイントを元の場所に保持するには、何を変更する必要がありますか?具体的には、テストをデバッグしようとしています。
====編集====
ブレークポイントがテスト行10と実装行4にある前:
テストファイルを選択してデバッグを開始し、VS CodeデバッグペインでJestを実行すると、ブレークポイントがテスト行9と実装行6にジャンプします。
次の拡張子を持つNode 9.6.1で実行:
DavidAnson.vscode-markdownlint
EditorConfig.EditorConfig
Orta.vscode-jest
PKief.material-icon-theme
PeterJausovec.vscode-docker
Shan.code-settings-sync
bungcip.better-toml
dbaeumer.vscode-eslint
dracula-theme.theme-dracula
dzannotti.vscode-babel-coloring
eamodio.gitlens
esbenp.prettier-vscode
gerane.Theme-FlatlandMonokai
humao.rest-client
mauve.terraform
mikestead.dotenv
mjmcloug.vscode-elixir
mohsen1.prettify-json
ms-vscode.Theme-MaterialKit
ms-vscode.Azure-account
ms-vscode.cpptools
ritwickdey.LiveServer
sbrink.Elm
shanoor.vscode-nginx
vscodevim.vim
(jest 23.6.0を使用して)この問題を取得し、これが反応アプリの作成に関する既知の問題であることを確認し、このプルリクエストで解決しました。
https://github.com/facebook/create-react-app/pull/3605/files
次の構成をmylaunch.jsonに適用しました
{ "type": "node", "request": "launch", "name": "Jest All", "program": "${workspaceFolder}/node_modules/jest/bin/jest", "args": [ "test", "--runInBand", "--no-cache"
], "sourceMaps": false, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" },
正しいブレークポイントでブレークすることができました。
@RyanHirsch;単にretainLines": true
とともにsourceMap: "inline"
あなたのバベルで、それは動作します。
大変な苦労の末、JestがBabelデバッグで一貫して動作し、正しい行で中断するようになりました
主に、優れた JestプラグインVSCode を使用しました開発者 ' Orta ' VSCodeの拡張機能ペインで「Jest」を検索:
そこから、テストに表示されるDebug
リンクを押すだけで、テストとアプリケーションコードの両方でブレークポイントを正しくヒットできます。