Property 'xxx' does not exist on type 'Window & typeof globalThis'
栏目:
eslint
发布时间:2023-03-04
先看一段 typescript 报错信息:
ERROR in src/services/no-captcha.service.ts:34:12
TS2339: Property 'AWSC' does not exist on type 'Window & typeof globalThis'.
> 34 | window.AWSC.use('nvc', (state: any, module: any) => {
| ^^^^
35 | window.nvc = module.init({
上述代码中从 window 对象上获取 AWSC 方法,AWSC 不是 window 对象上的原生方法,在 ts 中直接调用 window 对象的非原生方法或属性会报错。
我们需要手动给 window 对象声明该方法或属性。
本文给大家介绍 2 种解决方案:
解决方法一
在项目根目录或 src 目录下创建声明文件,比如 window.d.ts
interface Window {
// 对你要从 window 对象上获取的方法或属性进行声明
AWSC?: any;
}
需要特别注意的是,项目根目录下的 tsconfig.json 文件中的 include 配置项要包含该文件
示例:
// tsconfig.json
{
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
]
}
解决方法二
在报错的 ts 文件中添加下列代码:
declare const window: any
以上就是 ts 报错 Property 'xxx' does not exist on type 'Window & typeof globalThis' 的解决方法,祝你好运!
本文地址:https://www.tides.cn/p_eslint-Property-xxx-does-not-exist-on-type-Window-typeof-globalThis