为什么Vite创建两个TypeScript配置文件:是否为tsconfig. json和tsconfig.Node.json?

dgsult0t  于 2023-03-04  发布在  TypeScript
关注(0)|答案(2)|浏览(330)

我正在使用Vite创建一个新的React + TypeScript项目。
创建项目后,根文件夹中有两个TypeScript配置文件:tsconfig.jsontsconfig.node.json。以下是每一个的内容:

配置文件. 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" }]
}

配置节点json

{
    "compilerOptions": {
        "composite": true,
        "module": "esnext",
        "moduleResolution": "node"
    },
    "include": ["vite.config.ts"]
}

为什么我们需要两个?
第二个是做什么的?
我能拿掉第二个吗?

afdcj2ne

afdcj2ne1#

您需要两种不同的TS配置,因为项目使用两种不同的环境来执行TypeScript代码:
1.您的应用程序(src文件夹)正在浏览器内定位(将运行

  1. Vite本身包括它的配置运行在你的计算机内节点,这是完全不同的环境(与浏览器相比)与不同的API的和约束
    因此,这两种环境有两种不同的配置,以及两组截然不同的源文件...
    不,您可能不想删除tsconfig.node.json,但可以将其重命名为类似tsconfig.vite.json的名称,以使其用途更加明确
m1m5dgzv

m1m5dgzv2#

正如Michal Levý所提到的,这些是针对不同环境的不同配置。
你会注意到tsconfig.json包含一个“references”键,它指向一个包含tsconfig.node.json文件的数组。如果你想改变你的vite tsconfig文件名,请确保更新这个引用。

相关问题