相关疑难解决方法(0)

在node.js中扩展TypeScript Global对象

我有一个node.js应用程序,它将一些配置信息附加到global对象:

global.myConfig = {
    a: 1,
    b: 2
}
Run Code Online (Sandbox Code Playgroud)

TypeScript编译器不喜欢这个,因为该Global类型没有名为的对象myConfig:

TS2339:"全局"类型中不存在属性"myConfig".

我不想这样做:

global['myConfig'] = { ... }
Run Code Online (Sandbox Code Playgroud)

如何扩展Global类型以包含myConfig或仅告诉TypeScript闭嘴并信任我?我更喜欢第一个.

我不想改变里面的声明node.d.ts.我看到了这个SO帖子并尝试了这个:

declare module NodeJS  {
    interface Global {
        myConfig: any
    }
}
Run Code Online (Sandbox Code Playgroud)

作为扩展现有Global界面的一种方式,但它似乎没有任何影响.

global node.js typescript

46
推荐指数
7
解决办法
3万
查看次数

如何覆盖默认类型?

我正在研究可访问性并认为"我只是alt在我的项目中创建一个必需的属性." 我的目标是,img如果alt没有提供属性,我的反应应用中的所有标签都会抱怨.所以,我创建了一个.d.ts文件,其中添加了以下内容:

import { HTMLAttributes } from 'react';

declare module 'react' {
  export interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
    alt: string;
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

'alt'的所有声明必须具有相同的修饰符.

后续属性声明必须具有相同的类型.属性'alt'必须是'string |类型 undefined',但这里有'string'类型.

有没有办法表明我试图覆盖,而不是扩展?或者有更好的方法来解决这个问题吗?

typescript reactjs

7
推荐指数
1
解决办法
82
查看次数

标签 统计

typescript ×2

global ×1

node.js ×1

reactjs ×1