繁体   English   中英

尽管使用 global.d.ts 修改全局,但类型“全局和 typeof globalThis”上不存在属性“用户”

[英]Property 'users' does not exist on type 'Global & typeof globalThis' although modifying global with global.d.ts

我正在尝试开发一个项目,我需要包含可以从任何地方访问的全局变量。 通常,使用 javascript 我可以编写如下内容: global.users = {}但这在打字稿中并不容易,因此,我需要修改global变量的接口。 经过一些研究,我尝试在global.d.ts中包含以下代码:

// global.d.ts

declare module NodeJS  {
    interface Global {
        users: {[key: string]: import("./src/server/classes/User").User}
    }
}

这实际上使 VS Code Intellisense 错误消失了,但是当我运行ts-node时,错误再次出现:

TSError: ⨯ Unable to compile TypeScript:
src/server/index.ts:22:8 - error TS2339: Property 'users' does not exist on type 'Global & typeof globalThis'.

global.users = {};

我试图按照https://bobbyhadz.com/blog/typescript-declare-global-variable进行操作。 使用模块格式( declare global { var users: ... } )对我不起作用,但非模块global.d.ts可以:

declare var users: ...

确保您的global.d.ts中没有任何importexport语句。 但是,像您使用的import()类型表达式是可以的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM