我正在使用 Vite 创建一个新的 React + TypeScript 项目。
创建项目后,根文件夹中有两个 TypeScript 配置文件:
tsconfig.json
和tsconfig.node.json
。以下是每一篇的内容:
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"allowJs": false,
"skipLibCheck": false,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},
"include": ["src"],
"references": [{ "path": "./tsconfig.node.json" }]
}
{
"compilerOptions": {
"composite": true,
"module": "esnext",
"moduleResolution": "node"
},
"include": ["vite.config.ts"]
}
为什么我们需要两个?
第二个是做什么的?
我可以删除第二个吗?
您需要两个不同的 TS 配置,因为该项目使用两种不同的环境来执行 TypeScript 代码:
src
文件夹)正在浏览器内定位(将运行)因此,这些环境有两个单独的配置,以及由这些配置的
include
和 exclude
部分定义的两组源文件。然后有一个“主”配置tsconfig.json
“统治它们”
不,您可能不想删除
tsconfig.node.json
,但您可以将其重命名为 tsconfig.vite.json
之类的名称,以使其用途更加清晰。如果这样做,请确保相应地更新“主”配置
正如 Michal Levý 所提到的,这些是针对不同环境的不同配置。
您会注意到
tsconfig.json
包含一个“引用”键,该键指向包含 tsconfig.node.json
文件的数组。如果您想更改 vite tsconfig 的文件名,请务必更新此参考。