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

TypeScript中如何导入同一文件内的同名导出接口?

如何导入同名的TypeScript接口而非常量?

遇到这种同一文件导出同名类型和值的情况,TypeScript提供了专门的语法来解决这个问题,不用修改原文件也能精准导入你需要的接口:

  • 使用import type导入类型
    TypeScript的import type语法是专门用来导入类型实体(包括接口、类型别名等)的,它会忽略文件中的值导出(比如你的那个Prisma常量函数)。直接这样写就能导入接口:

    import type { Prisma } from './myFile';
    

    这样导入的Prisma就是你需要的接口类型,不会和导出的常量混淆。

  • 同时导入接口和常量时用别名区分
    如果你的代码同时需要用到这个接口和那个常量函数,可以给它们分别设置别名,避免命名冲突:

    // 导入Prisma接口并命名为PrismaInterface
    import type { Prisma as PrismaInterface } from './myFile';
    // 导入Prisma常量并命名为PrismaClient
    import { Prisma as PrismaClient } from './myFile';
    
    // 使用示例
    const client: PrismaInterface = PrismaClient();
    

为什么你之前的默认导入会拿到常量?因为在TypeScript中,值(比如函数、对象)的导出优先级在默认导入时会覆盖类型,而import type明确告诉编译器你要导入的是类型,不会涉及运行时的值,完美解决这个同名冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 19:57:45