tsconfig.json 常用配置
📅 2026/8/3 2:07:16
👁️ 次浏览
tsconfig.json 常用配置tsconfig.json这个文件是干什么的怎么生成它顶层字段include / exclude / filesextends配置也可以继承compileOnSave保存时自动编译最核心的部分(compilerOptions)1. 编译输出相关2. 类型检查相关3. 模块解析与路径别名4. 其他实用选项一个常见的配置模板几点小建议tsconfig.json这个文件是干什么的只要项目根目录存在tsconfig.jsonTypeScript 就会把它当成一个项目的起点。它主要做三件事明确项目根路径编译器知道从哪开始找文件。控制编译行为比如输出到哪个目录、用哪种模块规范。划定文件范围哪些文件要编译哪些可以忽略。如果你是 JavaScript 项目也可以用jsconfig.json作用类似只不过默认开启了一些针对 JS 的编译选项。怎么生成它最省事的办法在终端里执行npx tsc--init执行完会生成一个带详细注释的配置文件每个选项旁边都有解释很适合初次接触的人。如果你想自己创建也可以直接新建一个tsconfig.json然后去 tsconfig/bases 复制一份和你框架匹配的基础配置。顶层字段include / exclude / filesinclude指定需要编译的文件或文件夹支持通配符*和**。例如src/**/*表示编译 src 下所有文件。exclude从编译列表中排除某些文件默认已经排除了node_modules等目录。files只能一个一个列出具体文件路径不适合文件多的项目管理起来比较麻烦。一般情况下用include加exclude就足够了。extends配置也可以继承如果你的项目有多个子模块或者想在多个项目之间共享一套基础配置可以用extends来继承另一个配置文件{extends:./base.json,compilerOptions:{outDir:./dist}}甚至可以直接引用 npm 包里的配置比如tsconfig/node12省得自己从头写。compileOnSave保存时自动编译这个选项在 VS Code 里并不起作用只有 Visual Studio 才认。所以基本可以忽略它。最核心的部分(compilerOptions)这部分是配置的重头戏下面按功能分类说几个常用的。1. 编译输出相关target编译后的 JS 版本现在基本都用ES2020或更高除非你需要兼容特别旧的浏览器。module模块规范Node 环境常用commonjs前端打包项目可以用ESNext。lib指定代码里可用的 JS 内置对象如Promise、Map如果你用了较新的语法需要在这里补充对应的库声明。outDir编译输出目录比如./dist。rootDir源码根目录保证输出的目录结构和源码对应。sourceMap是否生成.map调试文件建议开启。declaration是否生成.d.ts类型声明文件如果你在写库这个必须开。2. 类型检查相关strict是一个总开关开启它会同时启用noImplicitAny、strictNullChecks等多个严格的检查选项。强烈建议始终开启它能让 TypeScript 真正发挥类型安全保障的作用提前发现很多潜在的运行时错误。如果你在旧项目上初次开启可能会遇到一堆报错但修复之后代码质量会有明显提升。3. 模块解析与路径别名moduleResolution通常设为node使用 Node.js 的解析策略。baseUrl和paths配合使用可以设置路径别名比如{baseUrl:.,paths:{/*:[src/*]}}这样你在代码里就能写import utils from /utils了。不过要注意打包工具如 Vite、Webpack也需要同步配置相同的别名否则运行时会找不到文件。4. 其他实用选项resolveJsonModule允许直接importJSON 文件。esModuleInterop让 ES 模块和 CommonJS 互操作更顺畅建议开启。skipLibCheck跳过对声明文件的类型检查能加快编译速度通常开着没问题。incremental启用增量编译第二次及之后的编译会快很多开发环境下推荐开启。一个常见的配置模板下面这个模板综合了上面提到的常用选项你可以在此基础上按需调整{compilerOptions:{target:ES2020,module:commonjs,lib:[ES2020,DOM],outDir:./dist,rootDir:./src,sourceMap:true,declaration:true,strict:true,noImplicitAny:true,strictNullChecks:true,moduleResolution:node,baseUrl:.,paths:{/*:[src/*]},esModuleInterop:true,resolveJsonModule:true,skipLibCheck:true,incremental:true},include:[src/**/*],exclude:[node_modules,dist,**/*.test.ts]}几点小建议严格模式别关。strict: true带来的收益远大于初期修改成本。路径别名用起来。配上baseUrl和paths能让 import 语句清爽不少。善用extends。如果项目里有多个子项目抽一份公共配置出来维护起来省心。拿不准的配置查官方文档。TypeScript 官方 TSConfig 参考 写得很清楚比到处搜靠谱。
1. 项目概述:从“水土不服”到“合规落地”如果你是一名经常需要撰写中文报告、学位论文或向国内期刊投稿的研究人员或学生,那么Zotero搭配Word带来的流畅文献管理体验,想必已经让你爱不释手。然而,这份愉悦感很可能在你需要将文末…
📅 2026/8/3 2:06:16
1. 项目概述:为什么我们需要MCP这座“桥”?最近在折腾AI应用开发,特别是想让大模型(比如Claude、GPTs)能直接操作我本地的数据库、调用内部API或者读取特定格式的文件时,遇到了一个挺普遍的问题:…
📅 2026/8/3 2:06:16
这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来,以及从单张图片测试到批量处理,中间有哪些参数和路径的坑需要提前避开。基于Matlab的kmeans聚类算法做图像分割,核心解决的是如何用颜色或灰度特征࿰…
📅 2026/8/3 2:06:16
文章目录Linux存储管理:分区、RAID、LVM、Swap前言一、GPT分区管理1.1 GPT vs MBR1.2 gdisk工具1.3 wipefs —— 清除磁盘签名1.4 parted工具(支持MBR和GPT)1.5 文件系统持久化挂载(/etc/fstab)1.6 文件系统空间不足排…
📅 2026/8/3 3:23:02
总线概述。在计算机中,总线是用于在各功能部件(如CPU,主存,I/O设备)之间传输数据的一组公共通信路线。总线有两个主要特点:1、共享:所有功能部件都挂在总线上,基于总线传输数据。2、…
📅 2026/8/3 3:23:02
1. 项目背景与价值定位刚接触股票投资领域的新人,在求职面试时常常面临一个尴尬局面:既缺乏实战经验,又对行业基础知识掌握不系统。这个题库正是为解决这个痛点而生——它不像传统金融教材那样堆砌理论,而是从一线机构实际面试场景…
📅 2026/8/3 3:23:02
1. 从“教程”到“作品”:一个开发者的思维转变“开发教程”这四个字,听起来平平无奇,甚至有点老生常谈。网上随便一搜,从“Hello World”到“全栈架构”,教程多如牛毛。但作为一个写了十几年代码、也看过无数教程的老…
📅 2026/8/3 3:23:02
一、关键词
奖助学金申报与评审系统、奖助学金申报与评审、奖助学金申报与评审信息管理、奖助学金申报与评审后台管理 二、作品包含
源码数据库万字设计文档PPT全套环境和工具资源本地部署教程 三、项目技术
前端技术: Html、Css、Js、Vue2.6、Element-ui
后端技…
📅 2026/8/3 3:23:02
1. 需求评审的痛点与AI自动化机遇需求评审是产品开发流程中至关重要的环节,但传统方式往往效率低下。典型场景是:产品经理准备几十页PRD文档,开发团队花两小时逐条讨论,结果发现30%的需求描述存在歧义,40%的技术实现方…
📅 2026/8/3 3:22:02
PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…
📅 2026/8/3 0:00:19
前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…
📅 2026/8/3 0:00:19
完整指南:如何让2008-2017年老款Mac运行最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher
还在为手中的老款Mac无法升级到最新系统而烦…
📅 2026/8/3 0:00:19
1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…
📅 2026/8/3 1:24:09
温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…
📅 2026/8/3 1:24:09
1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同ÿ…
📅 2026/8/3 1:24:09
AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言
HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…
📅 2026/8/3 1:24:08
无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut
在数字媒体创作领域,视频编辑处理的质量损…
📅 2026/8/3 1:24:08
1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…
📅 2026/8/3 1:24:08