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

TypeScript项目开发无错,构建时出现TS2554错误求助

TypeScript构建时出现TS2554错误的解决办法

问题现象

开发阶段无警告或编译错误,项目运行正常,但执行npm run build时,在Error构造函数调用处触发TS2554错误,提示:Expected 0 - 1 arguments, but got 2。

触发错误的代码:

throw Error('message', {cause: 'cause'})

相关类型定义:
ErrorConstructor:

ErrorConstructor
(message?: string | undefined, options?: ErrorOptions | undefined) => Error (+1 overload)

ErrorOptions接口:

interface ErrorOptions {
    cause?: unknown;
}

原因分析

  1. 调用方式差异:直接调用Error()作为函数时,部分TypeScript版本或严格检查配置下,不支持传入第二个ErrorOptions参数;而使用new Error()构造函数形式时,该参数是合法的。
  2. 环境配置不一致:开发环境与构建环境的TypeScript版本不同,或tsconfig.json中的检查规则(如strict模式)存在差异,导致开发阶段未触发类型检查错误,构建阶段才暴露问题。

解决方案

  • 使用构造函数形式调用Error:将代码改为throw new Error('message', {cause: 'cause'}),确保符合TypeScript对Error构造函数参数的类型定义。
  • 统一环境配置:检查开发和构建环境的TypeScript版本,确保两者使用相同版本;同步tsconfig.json中的检查规则,比如启用或关闭strict模式的设置保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:58:14