[英]Typescript Node JS - `Property does not exist on type 'Global & 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
中没有任何import
或export
语句。 但是,像您使用的import()
类型表达式是可以的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.