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

执行tsc编译TypeScript为JavaScript时出现编译报错,请求解决方案

执行tsc编译TypeScript为JavaScript时出现编译报错,请求解决方案

嘿,我来帮你梳理下这些编译错误的解决办法,主要分为配置文件生效问题和代码逻辑问题两部分:

一、解决编译配置不生效的问题

你当前遇到的TS2705和TS2550错误,核心原因是直接运行tsc index.ts时,TypeScript并没有加载你的tsconfig.json配置文件,而是使用了默认编译规则,导致你配置的lib选项没生效。另外你的tsconfig.json还有个小语法错误:

  1. 修正tsconfig.json的语法错误
    你的compilerOptions里最后一项"skipLibCheck": true,多了个尾逗号,JSON不允许这种写法,会导致配置文件无法被正确解析,把逗号删掉:

    {
      "compilerOptions": {
        "target": "ES6",
        "lib": [
          "es2015",
          "es2017",
          "DOM"
        ],
        "module": "commonjs",
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true,
        "strict": true,
        "skipLibCheck": true
      }
    }
    
  2. 让tsc读取配置文件进行编译
    不要直接编译单个文件,而是运行不带文件名的tsc命令,它会自动读取当前目录的tsconfig.json:

    tsc
    

    如果只想编译index.ts同时加载配置,可以用:

    tsc --project ./tsconfig.json index.ts
    

二、修正代码里的逻辑错误

除了编译配置的问题,你的代码里还有两处使用Object.entries的错误,即使编译通过,运行时也会出问题:

  • res.status是一个数字类型的HTTP状态码,不是对象,Object.entries()只能用于遍历对象的键值对,直接写res.status即可;
  • 如果你想把exactErrorMsg这个对象格式化成字符串,用JSON.stringify()会比Object.entries()更直观易读。

修正后的错误抛出代码如下:

throw new Error(
  `Request failed with status ${res.status}, ${JSON.stringify(exactErrorMsg)}`
);

总结

按照上面的步骤:先修正tsconfig的语法错误,再用正确的命令编译,最后修正代码里的Object.entries误用,你的编译错误就能全部解决啦。

备注:内容来源于stack exchange,提问作者coderx

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:54:33