gpt4 book ai didi

TypeScript 如何在每个文件中声明全局变量?

转载 作者:搜寻专家 更新时间:2023-10-30 21:04:30 25 4
gpt4 key购买 nike

我喜欢定义一个全局可用的助手

global.p = console.log.bind(console)

所以我可以使用 p('some message') 而不是 console.log('some message')

但是 TypeScript 提示 p 是未定义的。有没有办法告诉 TypeScript 编译器每个文件都有一个全局变量 p

最佳答案

我想我知道你想做什么——你想让 typescript 理解 p 变量是在全局范围内设置的,而不必 import { p } from .. . 在每个文件中。

如果我没记错的话,你需要做的是做一个ambient声明:

declare const p: (message: string) => void // or whatever

这不必在每个文件中声明。将其放入名为 typings/ 的文件夹中的 d.ts 文件中,然后将该文件包含在您的 tsconfig 中:

"include": [
"typings/**/*",
...
],

注意:您的 d.ts 文件不能导入任何其他模块。但它可以使用在其他 d.ts 文件中声明的其他环境类型,而无需导入它们。如果您导入某些内容,则 typescript 不会将您的文件视为环境声明,并且它不会起作用。

关于TypeScript 如何在每个文件中声明全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47794338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com