TypeScript报TS2366返回值错误及TS6053编译找不到文件问题求解
问题1:TS2366 函数缺少结束返回语句,返回类型不包含 undefined
报错原因
你虽然在逻辑上覆盖了所有amtAsString.length的可能场景,但TypeScript的类型收窄逻辑不会默认判定多段else if的数值判断穷尽了所有可能,会认为存在没有命中任何分支、走到函数末尾没有返回值的情况。你声明返回值为string仅代表你要求该函数必须返回字符串类型,并不会让TS自动判定你的返回路径完整。
解决方法
两种方案选其一即可:
- 将最后一段
else if (amtAsString.length > 6)直接改为else,明确剩下的所有场景都走该分支,TS即可识别所有路径都有返回值 - 在函数末尾加兜底返回,例如
return amtAsString之类的兼容逻辑
问题2:TS6053 找不到文件 processAmount.ts
报错原因
从你的报错信息可以看到实际文件名为首字母大写的ProcessAmount.ts,你执行命令时输入的是全小写开头的processAmount.ts,TypeScript编译时对文件名大小写敏感,同时也可能是你执行命令的工作目录和文件所在目录不一致导致的。
解决方法
- 先确认你执行命令的终端路径和
ProcessAmount.ts所在路径一致,执行命令时匹配文件名大小写:tsc ProcessAmount.ts - 如果项目根目录有
tsconfig.json配置文件,直接执行tsc即可,不需要额外指定文件名
内容的提问来源于stack exchange,提问作者plutownium
相关产品推荐
相关产品推荐

