【问题标题】:WebGL2RenderingContext Error when trying to run Typescript with tsc file.ts尝试使用 tsc file.ts 运行 Typescript 时出现 WebGL2RenderingContext 错误
【发布时间】:2020-04-08 19:52:56
【问题描述】:

我刚刚在我的 Windows 10 机器上同时使用 npm 和 yarn 安装了 Typescript,当我运行“tsc file.ts”时,我收到一条错误消息,提示“582 declare var WebGL2RenderingContext”。

它指向目录../../AppData/Roaming/npm/node_modules/typescript/lib/lib.dom.d.ts:16485:13

此外,它说 16485 declare var WebGL2RenderingContext: { 'WebGL2RendingContext'也在这里声明。发现 1 个错误。

这是来自 Node.js 命令提示符的截图

【问题讨论】:

  • 但是你没有在服务器端运行 WebGL - 对吧?
  • AppData/Roaming/npm/ 您已将其安装在全局范围内 - 您必须为您的项目在本地安装它。
  • @Zydnar,我得检查一下,也许我正在运行的其他一些应用程序可能正在使用 WebGL,我会尝试在本地安装它... Visual Studio、Chrome 和 Groove Music同时开放
  • 本地安装typescript后问题依旧
  • 这就是您所需要的:github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/… - 一种解决方案是使用以下属性从 lib.dom.d.ts 扩展 WebGL2RenderingContext,只需记住许可证

标签: javascript typescript npm yarnpkg


【解决方案1】:

我在执行这一行时解决了这个问题。

npm i --save @types/webgl2

【讨论】:

    【解决方案2】:

    如果您的声明发生冲突,请尝试导入您需要的声明:

    import {WebGL2RenderingContext} from "webgl2"
    const lol = (ctx: WebGL2RenderingContext)=>{/* do sth*/};
    

    @types/webgl2 的问题是它没有导出,所以你必须稍微改变一下: 只需在 declare 关键字之前添加导出即可。

    【讨论】:

    • 很好,在使用 WebGL2RenderingContext 时会记住这一点
    【解决方案3】:

    如果没有 Zydnar 的帮助,我无法解决这个问题,感谢他。经过深思熟虑,我决定注释掉 WebGL2 渲染函数,它起作用了,它转译为 javascript,最后我使用 ts-node filename.ts 来运行代码。

    再次感谢@Zydnar,您非常有帮助。

    【讨论】:

    • 注释掉这是不好的做法,并且在任何依赖项更新后,您都会遇到同样的问题。
    猜你喜欢
    • 2023-04-03
    • 2013-06-16
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 2013-09-17
    • 2017-04-04
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多