前言
本文记录解决 TS4023: Exported variable industryData has or is using name ‘xx’ from external module “xx” but cannot be named. 报错。该报错不影响TS编译,如果你跟我一样有强迫症的话,可以参考。
报错 TypeScript 版本:5.3.3
图示
以上代码在 typescript@5.0.4
中正常,但是在我新建一个项目并使用最新版 TypeScript 后报错。
我们看下报错中的 ResponseDataWrapper
代码,它是定义在另一个文件中:
interface ResponseDataWrapper<T = any> {
data: T
code: number
msg: string
}
解决报错
导出被使用的类型,加一个 export
即可
export interface ResponseDataWrapper<T = any> {
data: T
code: number
msg: string
}
可以看到,报错已解决
总之,当某个TS类型被其他模块间接使用时(比如我这里的:http.get()
返回值类型为 Promise<ResponseDataWrapper<T>>
),最好导出那个TS类型。