【发布时间】:2019-01-12 14:25:05
【问题描述】:
我喜欢定义一个全局可用的助手
global.p = console.log.bind(console)
所以我可以使用p('some message') 而不是console.log('some message')。
但 TypeScript 抱怨 p 未定义。有没有办法告诉 TypeScript 编译器每个文件中都有一个全局变量 p?
【问题讨论】:
-
从某个文件导入
p函数有什么缺点?为什么必须是全球性的? -
因为我有 TypeScript linter 可以捕获所有未使用的变量,所以你不能只导入 p 并将它留在那里,它必须被使用或删除。另外,我不想在每个文件中都添加
import { p } from xxx。 -
我认为只在使用时导入函数是一件好事。从长远来看,您和您项目的其他维护者将更加头疼全局函数。以某种方式导入依赖项对可维护性有很大帮助。
-
好坏取决于项目。建造摩天大楼和小屋需要不同的技术。就我而言,我最关心开发速度并希望快速制作原型。所以,就我而言,隐式全局变量要好得多。
标签: typescript