如题,刚开始搜索了一圈,各种方法尝试了都不行,如:
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript",
"runtimeArgs": ["-r", "ts-node/register"],
"args": ["${workspaceFolder}/path/to/your/file.ts"],
"cwd": "${workspaceFolder}",
"sourceMaps": true,
"protocol": "inspector"
}
]
name:配置的名称,您可以根据需要进行更改。
runtimeArgs:指定运行时参数,此处使用 -r ts-node/register 来使用 ts-node 运行 TypeScript 文件。
args:指定要运行的 TypeScript 文件的路径,根据您的项目结构进行相应调整。
cwd:指定工作目录,这里使用 ${workspaceFolder} 表示当前工作区的根目录。
sourceMaps:启用源映射以进行断点调试。
protocol:选择使用 Inspector 协议。
gtp答:
它是一个命令行命令,用于在 Node.js 环境中以调试模式运行 TypeScript 文件。
解析这个命令的含义如下:
node: 运行 Node.js 进程的命令。
--loader ts-node/esm: 指定了一个自定义的加载器,ts-node/esm 是指使用了 TypeScript 的 ts-node 模块的 ES 模块加载器。
--inspect: 启用了 Node.js 的调试模式,允许通过调试器连接到运行中的进程。
./src/index.ts: 要运行的 TypeScript 文件的路径,这里假设是位于 ./src 目录下的 index.ts 文件。
通过运行该命令,您可以在调试模式下执行指定的 TypeScript 文件,并使用调试器进行调试操作,例如设置断点、查看变量值等。请确保您已经安装了相应的依赖(例如 ts-node 模块)并正确配置了调试器(例如在 VS Code 中配置 launch.json),以便成功进行调试操作。
最后一句是提示我灵感的关键:“正确配置了调试器(例如在 VS Code 中配置 launch.json),以便成功进行调试操作
”
这个要如何配置对应调试器才能断点调试src/index.ts?
gpt答:(这次的配置终于可以了)
要在 VS Code 中配置对应调试器以实现断点调试 src/index.ts 文件,您可以按照以下步骤进行设置:
打开 VS Code,并在顶部菜单栏中选择 “调试”(Debug)选项。
在侧边栏中选择 “添加配置”(Add Configuration),或者打开 .vscode/launch.json 文件(如果已存在)。
在 launch.json 文件中添加一个调试配置。如果 launch.json 文件不存在,则可以使用以下配置作为示例创建该文件:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript",
"runtimeArgs": [
"--nolazy",
"--loader",
"ts-node/esm",
"${workspaceFolder}/src/index.ts"
],
"sourceMaps": true,
"cwd": "${workspaceFolder}",
"protocol": "inspector"
}
]
}
…
并且关键一点是进一步学习一点知识,并用对比思维提问自己:如上面的可以dev运行跑起项目,断点调试却不行,那么就可以了解一下为什么dev行
我本来还想着了解完再看怎么结合调试配置的(就像以前调试nodejs时那样),但gpt给的解释已经足以启发我找到跟dev对应的调试配置了,于是我按它给我的话提炼丢回去给它,并得到我想要的结论。