You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactTS+Vite+SWC项目本地启动报错:JSON文件意外结束

解决方案

1. 排查上级目录的tsconfig.json文件

错误信息明确指向../tsconfig.json:1:0,说明Vite在加载配置时读取了项目父目录中的tsconfig.json,而该文件是空文件或JSON格式损坏:

  • 进入项目所在的父目录(比如/home/n.n/Desktop/),检查是否存在tsconfig.json
  • 若文件为空或格式错误,直接删除该文件;若需要保留,则修复其JSON语法

2. 验证项目内TS配置的完整性

执行以下命令,检查当前项目的TS配置是否能正常解析:

npx tsc --noEmit

如果输出语法错误提示,对应修正tsconfig.json、tsconfig.paths.json等文件的格式问题(比如遗漏逗号、引号不匹配)

3. 强制Vite仅使用项目内的TS配置

如果上级目录的tsconfig.json需要保留,可在Vite配置中明确指定项目内的TS配置路径,避免向上查找:
修改vite.config.ts:

import react from '@vitejs/plugin-react-swc';
import { resolve } from 'node:path';
import { defineConfig } from 'vite';

export default defineConfig({
  base: '/',
  plugins: [react({
    // 为SWC插件指定项目内的tsconfig
    tsconfig: resolve(__dirname, 'tsconfig.json')
  })],
  resolve: {
    alias: {
      '~': resolve(__dirname, './src')
    }
  },
  server: {
    port: 3000,
    watch: {
      ignored: ['**/coverage/**']
    }
  },
  // 为ESBuild指定项目内的tsconfig
  optimizeDeps: {
    esbuildOptions: {
      tsconfig: resolve(__dirname, 'tsconfig.json')
    }
  }
});

4. 清除ESBuild缓存

ESBuild可能缓存了损坏的配置,执行以下命令清除缓存后重新启动服务:

rm -rf node_modules/.cache
npm run dev

额外排查项

  • 检查文件权限:确保项目内所有配置文件可读,执行chmod -R 644 ./tsconfig*.json
  • 尝试升级Node版本:虽然Node 18.12.1兼容Vite 5,但可切换到Node 20.x LTS版本测试是否解决问题

内容的提问来源于stack exchange,提问作者Igor Bežanović

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:43:10