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测试浏览器
需要注意的是,在启动时会弹出一个提示框,一定要选择“仍要调试”。
热门推荐
买彩票中奖啦?关于兑奖和纳税这些事项要知道→
船舶储能方案:船舶行业的绿色转型之道
惠特尼·休斯顿:世界级音乐传奇的不朽影响
“人事大换血”,隆基与协鑫的业务转型与北美突围
培养自我意识以提升领导能力
五万元投资的最佳策略是什么?这些策略如何平衡风险与回报?
桂林十大特色美食小吃,舌尖上的桂林!
桂林平乐盐菜:500年传承的地标性美食
轻松炒猪肉,揭秘超详细烹饪步骤!
EPUB文件格式,数字阅读的未来?
三国时期五虎上将在蜀汉分别是什么样的地位?
如何查找海牙成员国:一份详细指南
现代马起源于4200年前
【中药学堂】:大血藤
横断面研究样本量估算方法详解
川渝地区为何嗜辣?多因素交织,解密独特饮食文化背后根源
穿刺检查是什么?四大穿刺带你入门!
服务器升级内存保修期限全解析
C语言如何防止内存泄漏
银行的定期存款利率与金融市场结构优化趋势的关系是怎样的?
法院第二次开庭后多久能判决?未按时出庭会怎样?
“老人味”究竟是怎么来的?重视这4个方面可远离
系统产品经理能力:如何提升你的产品管理技能?
金士顿DDR4 2666和3200内存条对比:性能差异与选购指南
【原】枫叶满山红,黄花耐晚风。33句枫叶诗词,一叶落而知天下秋,真美
白银公安交警:“三策并施”解锁农村交通安全宣传新路径
腐乳真的健康吗?答案令人意想不到
39岁詹姆斯出勤率高达90%:本赛季仅缺席4场比赛
甲流多发,该如何有效应对?
一夜三四次,正常吗?“起夜家”们看过来