我想使用之前的答案和笑话文档node --debug-brk中描述的功能在基于 npm/yarn 1 的项目中进行调试,但在基于 Yarn 2 / PnP(即插即用)的项目中不存在,因此这些指令不会为我工作。node_modules/
访问yarn 2中的二进制文件的常用方法是yarn run --inspect-brk jest --runInBand从终端启动调试会话,但是当通过连接到Chrome的远程目标检查器时chrome://inspect,我们收到一条错误消息,提示无法连接到jest.js二进制文件,因为它是一个路径到一个.zip文件。
Uncaught Error: Cannot find module '/Users/MY_USERNAME/PATH_TO_MY_PROJECT/.yarn/cache/jest-npm-24.9.0-8ddb425e99-2.zip/node_modules/jest/bin/jest.js
Run Code Online (Sandbox Code Playgroud)
在不降级到 Yarn 1 的情况下,有哪些解决方法可用?
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest",
"skipFiles": ["<node_internals>/**"],
"cwd": "${workspaceFolder}",
"runtimeExecutable": "yarn",
"runtimeArgs": ["run", "--inspect-brk", "jest"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
}
]
}
Run Code Online (Sandbox Code Playgroud)
更新:下面报告的解决方法对于 Node12.15及以下版本是必要的。之后12.16.1,可以直接使用以下命令:
yarn run --inspect-brk jest --runInBand
Run Code Online (Sandbox Code Playgroud)
添加到节点 12.16.1 的修复程序位于此处。
旧版本 Node、12.15 及更低版本的存档答案
一种选择是yarn unplug在使用之前使用yarn run
yarn unplug jest
Run Code Online (Sandbox Code Playgroud)
之后,以下内容适用于 Yarn 2 和 Chrome 中的 Jest chrome://inspect:
yarn unplug jest
Run Code Online (Sandbox Code Playgroud)
unplug这种方法的一个缺点是,您可能需要在检查分支之前撤消,因为它被描述为短期措施,而不是留下依赖关系的长期状态。
| 归档时间: |
|
| 查看次数: |
4063 次 |
| 最近记录: |