为啥declare global无法定义变量?

image


请问有人知道这里为什么会是这样的结果吗?

.d.ts 只是一个类型申明文件,实际上你的TestCariable是没有定义的。你应该使用

window.TestCariable = 123456;
// 3.0的话,可以使用globalThis
// globalThis.TestCariable=123456; 
console.log(TestCariable);


怎么把这个提示去掉?

我想拥有智能跳转和提示

我上面的代码var TestCariable: number也只是申明一下而已,并没有赋值

简单点讲,.d.ts 不参与实际的编译和运行,只是给你一个代码提示的功能。

谢谢,了解了,我想申明全局变量,怎么弄能?能智能提示和跳转的那种

搞个静态数据类呗

或者单例啥的

不希望太多的import,所以期望不import就可以直接使用,单例。。。解决不了我的想法

写个插件脚本,里面就一行:

globalThis.x = /* */;

再写个 x.d.ts,里面:

declare global {
  namespace globalThis {
        var x: /* 的类型 */
    }
}
2赞

爱你,超级棒,666,:+1:

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。