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

使用tsc编译Express目录时如何同时处理.json等非TS格式文件

解决方案

方法1:使用TSC原生配置(仅处理.ts和.json文件)

TSC本身支持处理JSON文件,只需修改tsconfig.json配置即可实现编译时自动复制JSON到输出目录:

  1. 调整编译选项,添加JSON处理支持
{
  "compilerOptions": {
    // 其余原有配置保持不变
    "outDir": "./dist",
    "rootDir": "./src", // 确保源文件根目录正确,输出目录结构会和源目录完全对齐
    "resolveJsonModule": true, // 允许TS识别、导入JSON文件,编译时自动复制到输出目录
    "esModuleInterop": true // 配合resolveJsonModule使用,避免导入JSON时报类型兼容性错误
  },
  "include": [
    "src/**/*.ts", // 匹配所有TS源文件
    "src/**/*.json" // 匹配所有JSON文件
  ],
  "exclude": ["node_modules"]
}
  1. 直接运行tsc命令即可,无需额外传参,TS会自动将TS编译为JS、JSON原样复制到dist目录的对应路径下。

注意:不要使用tsc --outDir dist src/**/*这类通配所有文件的命令,会将非TS文件强制作为TS语法解析,触发语法报错。

方法2:TSC配合文件拷贝工具(处理所有类型文件)

如果Express目录下还有其他静态资源(如.env、证书文件、静态模板等TSC不支持处理的文件),可以用TSC负责编译TS文件,搭配跨平台拷贝工具cpx同步其余文件:

  1. 先安装开发依赖:
    npm install cpx -D
  2. 在package.json中添加构建脚本:
{
  "scripts": {
    "build:express": "tsc && cpx \"src/**/*.{json,env,pem,txt}\" dist/"
  }
}
  1. 运行npm run build:express即可完成完整构建:先执行TS编译,再将所有匹配后缀的非TS文件复制到dist目录,可根据自身需求调整通配的后缀类型。

内容的提问来源于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 10:51:01