vite对ts的处理依赖tsconfig.json吗?

Vite 仅执行 .ts 文件的转译工作,并不执行 任何类型检查。并假定类型检查已经被你的 IDE 或构建过程处理了。
Vite 使用 esbuild 将 TypeScript 转译到 JavaScript,约是 tsc 速度的 20~30 倍,同时 HMR 更新反映到浏览器的时间小于 50ms。

文档上面是这样写的,也就是vite实际没使用tsc,那么tsconfig.json对vite还有用吗?tsconfig.json不是给tsc用的吗?

像webpack的babel-loader,跟vite一样的处理方式,tsconfig.json文件对于babel-loader就是无用的

阅读 2.3k
2 个回答

没有规定说 tsconfig.json是 tsc专用的吗
esbuild也可以依赖它啊,

没有说tsconfig.json文件就只有tsc可用,esbuild编译tsjs也是用到了tsconfig.json

使用vite打包,esbuild编译ts也会去加载项目中的tsconfig.json文件

esbuild中有个专门加载tsconfig.json的方法

async function loadTsconfigJsonForFile(
  filename: string,
): Promise<TSConfigJSON> {
  try {
    const result = await parse(filename, tsconfckParseOptions)
    // tsconfig could be out of root, make sure it is watched on dev
    if (server && result.tsconfigFile !== 'no_tsconfig_file_found') {
      ensureWatchedFile(server.watcher, result.tsconfigFile, server.config.root)
    }
    return result.tsconfig
  } catch (e) {
    if (e instanceof TSConfckParseError) {
      // tsconfig could be out of root, make sure it is watched on dev
      if (server && e.tsconfigFile) {
        ensureWatchedFile(server.watcher, e.tsconfigFile, server.config.root)
      }
    }
    throw e
  }
}
推荐问题
logo
Microsoft
子站问答
访问
宣传栏