47 lines
2.1 KiB
JSON
47 lines
2.1 KiB
JSON
{
|
||
"files": [],
|
||
"references": [
|
||
/* Bundler mode */
|
||
{
|
||
"path": "./tsconfig.app.json"
|
||
},
|
||
{
|
||
"path": "./tsconfig.node.json"
|
||
}
|
||
]
|
||
}
|
||
/*
|
||
|
||
### 文件 1 (`tsconfig.node.json`):
|
||
1. **`target`: `ES2022`**
|
||
- 这个文件编译目标是 ES2022,意味着输出的代码将使用 ES2022 特性,适合较新版本的 Node.js 或支持 ES2022 的浏览器环境。
|
||
|
||
2. **`lib`: `["ES2023"]`**
|
||
- 使用了 ES2023 的库标准,提供了最新的 JavaScript API 支持。
|
||
|
||
3. **`include`: `["vite.config.ts"]`**
|
||
- 这个文件只针对 `vite.config.ts` 文件,因此可能主要用于 Vite 配置的 TypeScript 设置,不会对其他项目源代码产生影响。
|
||
|
||
### 文件 2 (`tsconfig.app.json`):
|
||
1. **`target`: `ES2020`**
|
||
- 这个文件编译目标是 ES2020,适用于相对广泛的运行环境,特别是支持稍旧的浏览器或运行时。
|
||
|
||
2. **`lib`: `["ES2020", "DOM", "DOM.Iterable"]`**
|
||
- 除了 ES2020 标准,还包括了 DOM 和 DOM.Iterable,意味着这个配置更适合在浏览器端开发,特别是使用 Vue.js、React 等前端框架时处理 DOM API。
|
||
|
||
3. **`include`: `["src/*\*\/ *.ts", "src/*\*\/*.tsx", "src/*\*\/*.vue"]`**
|
||
- 此文件包含了项目中的 TypeScript、TSX 和 Vue 文件,适用于完整的前端项目,而不仅仅是配置文件,适合实际开发和编译项目的 TypeScript 代码。
|
||
|
||
### 其他差异:
|
||
- **`jsx: "preserve"`**: 在第二个文件中,`jsx` 被设置为 `preserve`,这通常是 React 项目中保留 JSX 语法以便由后续的 Babel 或其他工具进行处理。
|
||
|
||
### 使用场景总结:
|
||
- **文件 1** (`tsconfig.node.json`):
|
||
- 适用于 Node.js 环境下的配置文件编译,例如 Vite 项目的配置脚本。只处理配置文件,不处理实际的项目源代码。
|
||
|
||
- **文件 2** (`tsconfig.app.json`):
|
||
- 适用于整个项目的前端代码编译,包含了浏览器 API 和 JSX 的支持,适合开发 Web 应用程序。
|
||
|
||
这两种配置的分离是为了更精细化地控制不同环境下 TypeScript 的编译选项,确保开发和配置脚本的环境各自独立。
|
||
|
||
*/ |