vben开发入门6:tsconfig.json

typescript 复制代码
{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@vben/tsconfig/web-app.json",
  "compilerOptions": {
    "paths": {
      "#/*": ["./src/*"]
    }
  },
  "references": [{ "path": "./tsconfig.node.json" }],
  "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
}

tsconfig.json

这个文件是 TypeScript 的配置文件,用来告诉 编译器:

  • 怎么识别 Vue、TS 代码
  • 路径别名怎么解析
  • 继承哪些通用规则
  • 要检查哪些文件

json 复制代码
  "$schema": "https://json.schemastore.org/tsconfig",

作用 :

给 JSON 文件提供智能提示、语法校验 ,让你写 tsconfig 时不会写错格式。
简单理解:编辑器辅助配置,不影响代码运行。


json 复制代码
  "extends": "@vben/tsconfig/web-app.json",

作用 :
继承通用 TS 配置 。

这个项目是 monorepo 架构,所有子项目共用一套 TS 规则,放在 @vben/tsconfig 里。
简单理解:不用重复写一堆 TS 配置,直接用框架统一的规则。


json 复制代码
  "compilerOptions": {
    "paths": {
      "#/*": ["./src/*"]
    }
  },

作用 :
路径别名配置 ,和 package.json 里的 imports 对应。

  • #/* → 等价于 ./src/*
  • 代码里写 #/utils → 自动指向 src/utils
    简单理解 :简化代码路径,不用写 ../../../../src 这种长路径。

json 复制代码
  "references": [{ "path": "./tsconfig.node.json" }],

作用 :
TS 多项目引用 ,把 Vite 配置(node 环境)和业务代码(浏览器环境)分开解析。
tsconfig.node.json 专门给 vite.config.ts 这类 Node 端文件使用。
简单理解:让 TS 同时支持「项目源码」和「构建工具配置」。


json 复制代码
  "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]

作用 :
指定哪些文件需要进行 TS 语法检查 。

包含:

  • src 下所有 .ts 文件
  • src 下所有 .tsx 文件
  • src 下所有 .vue 文件(Vue 单文件组件)
    简单理解:告诉 TS:只检查 src 里的业务代码。

总结

这个 tsconfig.json 一共做了 4 件事:

  1. 提供 JSON 语法提示
  2. 继承框架统一的 TS 规则
  3. 配置路径别名 #/ → src/
  4. 告诉 TS 要检查 src 下的 .ts / .tsx / .vue 文件
  5. 关联 Node 环境的 TS 配置(给 vite.config.ts 使用)

核心作用就是:
让 TypeScript 正确识别 Vue 文件、解析路径别名、继承统一规范、检查业务代码。

相关推荐
雪芽蓝域zzs21 小时前
json数据转化成interface属性
前端·javascript·json
ha_lydms1 天前
Json Functions(JSON 函数)
大数据·hadoop·spark·json·数据处理·dataworks·maxcompute
BD_Marathon1 天前
JSONLoader加载JSON文件
json
积流成海1 天前
JSON 格式化:语法校验与错误定位实践
json·状态模式·盘子工具站
JavaPub-rodert1 天前
Docker 日志为什么能把磁盘写爆?讲透 json-file、local、journald、日志轮转与 docker logs
docker·eureka·json
voipmaker2 天前
选煤厂智能化:UWB 人员定位系统 WebAPI 对接融合通信平台实战
物联网·实时互动·json·音视频·实时音视频·web·视频
IT_Octopus2 天前
【零基础入门 LLM 开发 · Day 15】:LangChain 注册工具——告别手写 JSON Schema
java·langchain·json
星 海2 天前
【json】cJSON库解析文件
c语言·json·cjson
Liu.7742 天前
Vue3 中如何使用 GET 请求传递复杂参数
vue.js·vue3
工具派3 天前
JSON转Excel后18位订单号不对了?数字精度与类型边界实测
json·excel