VSCode中,如何以单元测试为入口调试React源码
问题来源
我将React项目clone到本地,想以单元测试为入口调试源码。
配置launch.json
{
"version": "0.1.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest Entry",
"program": "${workspaceRoot}/node_modules/.bin/jest",
"args": [
"${file}",
"--config",
"./scripts/jest/config.source.js",
"--runInBand"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"NODE_ENV": "development"
}
}
]
}
根据以上配置,VSCode会调试当前打开的文件,然后我在测试用例中打断点,这一切都很顺利。
但是当我继续把断点打到/packages/react/src/ReactElement.js中时,VSCode无法准确进入断点。
个人猜测
Jest是使用Babel来transform源码的(/scripts/jest/preprocessor.js),缺少sourceMap导致VSCode无法把断点映射到源码处。
哪位朋友可以指出我这一调试流程的问题或是提供调试React源码的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你猜得是对的.
你需要在
scripts/jest/preprocessor.js
的babel
配置中添加sourceMaps: 'both'
或者sourceMaps: 'inline'