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测试浏览器
需要注意的是,在启动时会弹出一个提示框,一定要选择“仍要调试”。
热门推荐
哪些技术对媒体数字化转型最为重要?
降低收缩压的方法有哪些
深圳三日游经典路线推荐
髋关节积液的病因是什么
髋关节积液是怎么形成的?
为什么劳动力商品为能够带来剩余价值的商品
旧房翻新|秒变温柔之家,让丈母娘都说好
全面了解我国教育费用:从幼儿园到大学的支出与保障
盘点15部古装剧里的紫衣美女,美人如云,我最喜欢第7个
保障性租赁住房申请指南:流程、政策和常见问题解答
架子鼓初学者节奏打法全攻略
浴霸开关更换方法
面瘫后如何快速恢复?针灸来给你支招啦!
地方优师专项报考条件2024,有户籍限制吗?提前批地方优师计划怎么报考?
英雄联盟符文搭配攻略:详解各系符文特点与适用英雄
如何评估房产项目的综合价值?这种评估如何考虑城市发展因素?
你家有智能马桶吗?“智能马桶”用英语怎么说?
揭秘燕窝硫磺味的来源及其影响:常见疑问与全面解析
一道高考数学圆锥曲线大题的详细解析
尿液颜色是健康的晴雨表?从《哪吒2》看人体“泌”密
静坐冥想的正确方式是什么?初心冥想
15数字华容道攻略:从入门到精通的完整指南
机械键盘按键失灵怎么办?三步轻松重置按键
骑行,能为你带来哪些益处?
卧推动作详解:正确姿势与常见错误纠正
松木家具的优缺点,它属于什么档次及保养方法
STM32 51单片机设计半导体制冷片温控系统详解
持有绿卡多久才可以申请入美国籍?具体流程是怎样的?
诉讼频发!AI训练“盗用”版权内容,建立共享数据库迫在眉睫?
拆书稿行业分析:现状、趋势与挑战