VS Code 调试 TypeScript 基本流程
创作时间:
作者:
@小白创作中心
VS Code 调试 TypeScript 基本流程
引用
1
来源
1.
https://www.cnblogs.com/Chary/p/18277673
在学习TypeScript的过程中,调试是一个必不可少的环节。本文将详细介绍如何在VS Code中配置和调试TypeScript代码,帮助开发者更高效地进行开发和调试工作。
配置 TypeScript 编译选项
首先需要新建一个TypeScript编译配置文件tsconfig.json,其基本结构如下:
{
"compilerOptions": {
"target": "es2015",
"module": "commonjs",
"outDir": "out",
"sourceMap": true
},
"include": [
"src/**/*"
]
}
对几个关键属性进行说明:
target:指定编译出JavaScript代码的ECMAScript版本module:指定编译出JavaScript文件的模块格式outDir:指定编译出JavaScript文件的存放位置sourceMap:是否生成SourceMap文件(不生成SourceMap将无法进行断点调试)include:指定要编译的文件
VS Code 集成 TypeScript 编译配置
使用快捷键Ctrl+Shift+B创建tasks.json文件,用于关联TypeScript编译工具到VS Code。可以选择手动编译或保存后自动编译,这里选择手动编译。
{
"version": "2.0.0",
"tasks": [
{
"type": "typescript",
"tsconfig": "tsconfig.json",
"problemMatcher": ["$tsc"],
"group": "build",
"label": "tsc: build - tsconfig.json"
}
]
}
VS Code 调试配置
切换到调试面板,创建默认的launch.json文件,用于配置调试选项。需要修改program属性,并新增preLaunchTask属性。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/src/index.ts",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": ["${workspaceFolder}/out/**/*.js"]
}
]
}
其中:
program:指定调试的入口文件preLaunchTask:调试前要执行的任务,需要与tasks.json中的label保持一致
进阶配置:调试Web项目
对于Web项目,可以在.vscode文件夹下创建launch.json配置文件,配置如下:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "dev",
"url": "http://localhost:5173/metro-metaverse/",
"webRoot": "${workspaceFolder}/src",
"sourceMaps": true,
"runtimeExecutable": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
"preLaunchTask": "npm: dev"
}
]
}
同时在vite.config.js中添加以下配置:
defineConfig({
build: {
sourcemap: true
}
})
最后,在.vscode/tasks.json中添加项目启动任务:
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "dev",
"problemMatcher": [],
"label": "npm: dev",
"detail": "vite --host",
"isBackground": true
}
]
}
这样就完成了完整的调试配置。启动项目后,等待项目启动完毕,就可以进行断点调试了。
启动的Chrome测试浏览器
需要注意的是,在启动时会弹出一个提示框,一定要选择“仍要调试”。
热门推荐
甲状旁腺功能亢进症严重吗
姬小菊的养殖方法与注意事项
政务云参考架构
什么是申根多次入境签证? (2025最新)
查询公网IP地址的方法
迎春花开,春意萌动,古诗词里的迎春花,感受春天的气息!
酒店厨房设备噪音困扰?专家教你轻松解决
专票信息技术服务费可以抵扣吗?
合同纠纷的主要种类都包含有哪些
37句诗词:李白豪情万丈出场,遭遇磕磕绊绊人生,难免晚景凄凉
没有仪式感的家庭养不出幸福的孩子(15件小事,仪式感满满)
鳄鱼能吃吗
新手拍视频必学:揭秘快门速度选择技巧,为何要设为帧速率的两倍
喝茶还能治疗慢性咽喉炎?医生推荐2种茶药方,有需要的可以一试
大学英文成绩单办理难题全解析!这几种解决办法让你不再犯愁
国家林草局:完善支持政策,提高森林食物供给能力
15万预算买车,这五款隐藏好车不容错过
签订合同授权书格式是怎样的?签授权书有哪些需要注意?
荒野乱斗:星光点数获取与使用完全指南
没有银行卡也能取钱?这些方法你值得收藏
“蔗” 里藏危!发红甘蔗千万别吃!
人工智能AI设计工具可增强流体动力产品开发
道家思想精华:寻求心灵平静与自由的古老智慧之道
掌握电脑文件压缩技巧,轻松管理存储空间的实用指南
北京奔驰召回10795辆国产E级汽车,传动轴存安全隐患
T1与EDG真的是前世孽缘啊!四次世界赛同组,三次完成对EDG的双杀
心学问心理教育,叛逆期风暴?理解与尊重的桥梁
大理古城、洱海风光3日深度游攻略
养老院老人可以“隔空看病”!静安区闸北中心医院搭建“远程会诊+快速优先转诊”服务
不会做笔记?来看高手都在用的6种高效笔记法。