0

0

如何在VSCode中配置并运行TypeScript项目?编译与类型检查【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-01-17 17:54:10

|

373人浏览过

|

来源于php中文网

原创

VSCode仅提供TypeScript编辑支持,编译和类型检查由tsc完成;需安装typescript包、配置tsconfig.json、启用sourceMap并正确设置outDir与outFiles以确保编译、调试和类型检查一致。

如何在vscode中配置并运行typescript项目?编译与类型检查【教程】

VSCode 本身不运行 TypeScript,它只提供编辑、类型提示和错误标记;真正完成编译(tsc)和类型检查的是 typescript 包里的命令行工具。配置的关键是让 VSCode 正确识别项目结构,并把 tsc 的输出、错误和 source map 对齐到编辑器中。

确认已全局或本地安装 typescript

VSCode 不自带 tsc,必须手动安装。否则点击“运行”或终端执行 tsc 会报 command not found无法将“tsc”项识别为 cmdlet

  • 推荐在项目根目录用 npm 安装:运行
    npm install --save-dev typescript
    ,然后通过 npx tsc 调用(避免全局污染且版本可控)
  • 若要用全局 tsc,执行
    npm install -g typescript
    ,再在终端输入 tsc --version 验证是否成功
  • VSCode 的集成终端需重启才能识别新安装的全局命令(或新开一个终端标签页)

生成并理解 tsconfig.json

这是 TypeScript 项目的配置核心。没有它,tsc 只会编译单个文件,无法启用模块解析、路径别名、JSX 支持等关键特性。

  • 在项目根目录运行
    npx tsc --init
    生成默认配置文件
  • 务必检查并调整几个关键字段:"target"(建议 "ES2020" 或更高)、"module"(通常 "commonjs""ESNext")、"outDir"(如 "./dist",必须和实际输出路径一致)
  • "include" 推荐显式声明:
    "include": ["src/**/*"]
    ,避免 node_modules 或配置文件被误扫
  • 如果用 import 路径别名(如 @/utils),必须配 "baseUrl""paths",且 VSCode 的 IntelliSense 才能跳转

在 VSCode 中触发编译与实时类型检查

VSCode 内置了 TypeScript 语言服务,只要项目有 tsconfig.json,就会自动启动类型检查——但这个检查是“内存中”的,不写入文件,也不生成 JS。要真正产出可运行代码,必须显式调用 tsc

Pomelli
Pomelli

Google Labs推出的AI营销工具

下载
  • 快捷键 Ctrl+Shift+B(Windows/Linux)或 Cmd+Shift+B(macOS)可打开构建任务:首次使用会提示“配置任务”,选 TSC: Watch - tsconfig.json 即开启监听模式(保存即编译)
  • 想一次性编译,终端执行
    npx tsc
    ;加 --noEmit 可仅做类型检查(适合 CI 场景)
  • VSCode 底部状态栏会显示 TypeScript 版本号,点击可切换工作区使用的 TS 版本(例如从插件内置版切到项目 node_modules 里的版本)
  • 如果修改了 tsconfig.json,VSCode 不会自动重载,需手动点击右下角的 “TypeScript” 提示条 → “Restart TS server”

调试时源码映射失效?检查 sourceMapoutFiles

用 Debugger for Chrome 或 Node.js 启动时断点打不到 TS 源码,大概率是 source map 未生成或路径错位。

  • 确保 tsconfig.json 中启用了:
    "sourceMap": true,
    "inlineSources": true
    (后者让源码嵌入 map 文件,省去单独加载 .ts 文件)
  • 如果 outDir./dist,则编译后 .js.js.map 必须在同一目录;VSCode 的调试器靠 sourceRoot 字段定位原始 .ts 路径,若项目结构复杂(如 monorepo),可能需要手动设 "sourceRoot": "../src"
  • launch.json 中的 outFiles 字段应匹配 JS 输出位置,例如:
    "outFiles": ["${workspaceFolder}/dist/**/*.js"]

最易忽略的一点:VSCode 的类型检查依赖 tsconfig.json 的存在和有效性,但编译行为完全由你执行的 tsc 命令决定——两者不自动同步。改了配置却不重跑 tsc,或者用了错误的 tsconfig.json 路径(比如多层子目录里有多个),都会导致编辑器提示和实际编译结果不一致。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

785

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

732

2023.11.06

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

75

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

33

2025.11.16

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号