如何使用TS覆盖全局变量定义

问题描述 投票:0回答:2

对于我们正在使用的应用程序,我想鼓励人们使用localStorage周围的包装器,该包装器会自动将JSON转换为JSON(或从JSON转换为JSON)(并且具有类型检查功能)。我试图覆盖window.localStorage的全局TS定义:

declare global {
  interface Window {
    localStorage: null,
  }
}

但是那实际上并没有做任何事情-有没有一种方法可以防止使用window.localStorage进行编译,甚至可以更好地向用户提供有关为何不进行编译的有用警告?

typescript browser tsc
2个回答
1
投票

例如,是否只放了

 interface Window {
    localStorage: null,
  }

global的声明文件中,然后将该文件放在TSC编译器(VS Code linter)知道的项目中的某个位置,那么您甚至不需要import './our-defs.d.ts'


0
投票

好吧,没关系,这确实起作用,但是我必须显式导入文件:

import './our-defs.d.ts'

但是,如果有人知道如何以某种方式提供自定义错误消息,那将很棒。

© www.soinside.com 2019 - 2024. All rights reserved.