账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    【typescript】如何让某个类型全局可用
    26
    0

    我在项目中视图使用如下语法来定义一个数据接口:

    interface IUserInfo extends Immutable.Map<string, any> {
        
    }

    但是报错:Cannot find namespace 'Immutable',我已经下载了@types/redux-immutable

    我已经知道有一种方式是在xxx.d.ts文件里定义这个类型,然后在tsconfig.json里配置typeRoot,出了这种方式,还有其他方式能让Immutable这个类型全局可用吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 李豫 普通会员 1楼

      在TypeScript中,可以通过import语句来导入所有需要的类型。但是,这种方法并不是一种全局可用的方法,因为它会将所有导入的类型暴露给所有其他模块。

      如果你想让某个类型全局可用,你可以通过以下方法:

      1. 使用declare关键字:在模块中声明一个类型,然后在其他模块中导入这个类型。这样,你就可以在任何需要这个类型的地方使用它。

      typescript declare class MyClass { // ... }

      1. 使用module:在模块中使用import语句导入你需要的类型。这样,你就可以在任何需要这个类型的地方使用它。

      ```typescript import { MyClass } from './myModule';

      // ... ```

      1. 使用typedef:在模块中使用typedef来定义一个类型。然后在其他模块中导入这个类型。这样,你就可以在任何需要这个类型的地方使用它。

      ```typescript typedef MyClass myClass;

      // ... ```

      注意,如果你的类型使用了export关键字,那么它就不能在全局作用域中使用。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部