如何使用 TS 覆盖全局变量定义
How to override global variable definitions using TS
对于我们工作中的应用程序,我想鼓励人们使用围绕 localStorage
的包装器,它会自动转换 to/from JSON(并且还进行了类型检查)。我试图覆盖 window.localStorage:
的全局 TS 定义
declare global {
interface Window {
localStorage: null,
}
}
但这并没有真正做任何事情 - 有没有办法阻止使用 window.localStorage 进行编译,甚至更好地向用户发出有用的警告,说明为什么它不编译?
好的,没关系,这确实有效,但我必须明确导入文件:
import './our-defs.d.ts'
但是,如果有人知道如何以某种方式提供自定义错误消息,那就太棒了。
假设你只是把
interface Window {
localStorage: null,
}
在 global 的声明文件中,并将该文件放在 TSC 编译器(VS 代码 linter)知道的项目中的某个位置,那么您甚至不需要 import './our-defs.d.ts'
对于我们工作中的应用程序,我想鼓励人们使用围绕 localStorage
的包装器,它会自动转换 to/from JSON(并且还进行了类型检查)。我试图覆盖 window.localStorage:
declare global {
interface Window {
localStorage: null,
}
}
但这并没有真正做任何事情 - 有没有办法阻止使用 window.localStorage 进行编译,甚至更好地向用户发出有用的警告,说明为什么它不编译?
好的,没关系,这确实有效,但我必须明确导入文件:
import './our-defs.d.ts'
但是,如果有人知道如何以某种方式提供自定义错误消息,那就太棒了。
假设你只是把
interface Window {
localStorage: null,
}
在 global 的声明文件中,并将该文件放在 TSC 编译器(VS 代码 linter)知道的项目中的某个位置,那么您甚至不需要 import './our-defs.d.ts'