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

使用tsc编译TypeScript为JavaScript时如何忽略.json文件

tsc编译引入JSON文件问题解决方案

tsc的exclude规则仅对未被其他TS文件引入的文件生效,只要JSON文件被TS代码import,就会被纳入编译流程,所以你之前的exclude配置不生效,可选择以下两种方案处理:

方案1:保留JSON文件,调整配置和编译流程(优先推荐,改动最小)

  • 首先在tsconfig.json中开启JSON解析配置,让tsc正确识别JSON导入:
{
  "compilerOptions": {
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "outDir": "dist_server",
    // 其余原有配置保持不变
  },
  "include": ["express/**/*"]
}
  • 不要在命令行用tsc --outDir dist_server express/**/*的形式传文件,通配符会把JSON文件直接作为编译输入传给tsc触发报错,直接执行tsc命令即可,所有规则走tsconfig配置。
  • 如果你需要JSON文件原样输出到dist目录,在构建流程中新增复制步骤即可,修改package.json的scripts配置:
{
  "scripts": {
    "build": "tsc && cp -r express/**/*.json dist_server/"
  }
}

Windows环境可将cp替换为xcopy,跨平台场景可安装cpx等工具实现跨平台复制。

方案2:将JSON配置转为TS文件

如果不想额外处理JSON复制逻辑,可以直接把配置类JSON改为TS导出,还能获得额外的类型提示:

  1. 把原xxx.json文件改为xxx.ts,修改内容格式:
// 原JSON内容
// { "port": 3000, "host": "127.0.0.1" }
// 改为TS导出
export default {
  port: 3000,
  host: "127.0.0.1"
} as const;
  1. 把原有导入JSON的语句import config from './xxx.json'改为import config from './xxx.ts'即可,不需要额外配置JSON相关的编译选项。

内容的提问来源于stack exchange,提问作者skate_23

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:09:03