node.js - 如何修复:类型“Window”不可分配给类型“typeof globalThis”
问题描述
我正在尝试来自 github 的 Angular 项目。我正在使用节点版本 12、角度 cli 9 和更新的 package.json。
https://github.com/chat21/chat21-web-widget 从这两个文件中,我在构建时遇到错误。 https://github.com/chat21/chat21-web-widget/blob/master/src/app/providers/translator.service.ts https://github.com/chat21/chat21-web-widget/blob/master /src/app/utils/globals.tsLine 31
let windowContext = window;
if (window.frameElement && window.frameElement.getAttribute('tiledesk_context') === 'parent') {
windowContext = window.parent;
}
错误类型:“Window”不可分配给“typeof globalThis”类型。
windowContext = window.parent;
我认为这是与打字稿有关的问题,但我对此并不熟悉。
解决方案
是的,这个错误是预期的。当您创建windowContext变量时,您没有声明类型,因此打字稿推断windowContext的类型为"Window & typeof globalThis"。
然后您尝试重新分配变量,但您使用不同的类型重新分配了它。window.parent是“ Window ”类型。所以类型不匹配。
你可以试试这个
let windowContext: any = window;
if (window.frameElement &&
window.frameElement.getAttribute('tiledesk_context') === 'parent') {
windowContext = window.parent;
}
推荐阅读
- hive - Hive 查询失败,出现不应该出现的文件未找到错误
- python - Python pandas.dataframe.isin 返回意外结果
- spring - 无法连接到集群中的多个节点
- javascript - Django 3.0 辅助应用程序 - 未找到:静态文件
- mongodb - 如何从 Mongodb 中的嵌入文档中查找最大值和最小值
- java - 我们可以从这个 PubsubIO.readStrings().fromTopic(options.getInputTopic()) 中读取发布在 Pub/Sub 上的实际内容或消息吗
- ios - UILabel swift iOS中间不显示行删除线
- django - 在 django-graphql-jwt 中自定义 get_payload 函数
- ios - 如果应用程序处于后台模式,如何播放声音
- php - JSON.parse 单个变量 - 未捕获的语法错误:JSON 中的意外标记 <