在 VS Code 中使用 TypeScript 在最新版本上出现 Canvas 错误
Using TypeScript in VS Code giving Canvas errors on latest version
我正在为我的应用程序在 TypeScript 中编写一些 Canvas 代码并收到以下错误:
Property 'wrapText' does not exist on type 'CanvasRenderingContext2D'.ts(2339)
这来自以下行:
CanvasRenderingContext2D.prototype.wrapText = function(text, x, y, maxWidth, lineHeight)
我想我可以在 lib.dom.d.ts 文件中添加声明,该文件位于 VS Code 的 node_modules 扩展部分。这是修复它的唯一方法吗?我很好奇为什么它不包括在内。我是 运行 2021 年 4 月版的 VS Code,因为我刚刚升级了它。
我找不到证明上下文中应该存在现有 wrapText
定义的参考,即使有这样的成员 属性,它也不一定是可写的。
我认为这个猴子修补模式正在添加一个新的 属性,这在以前根本不存在。
我将此解释为正常的过度 属性 打字稿检查行为,这意味着您不能将意外属性分配给预定义类型的实例。
https://riptutorial.com/html5-canvas/example/18590/wrapping-text-into-paragraphs 声明没有预先存在的实现并采用类似的模式(在 javascript 中没有多余的 属性 检查所以没有错误)。
在不操纵任何 node_modules 或 VSCode 元数据的情况下,您仍然可以通过使用全局增强来安排使此可选 属性 在项目本地的 CanvasRenderingContext2D 上有效... https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation
我正在为我的应用程序在 TypeScript 中编写一些 Canvas 代码并收到以下错误:
Property 'wrapText' does not exist on type 'CanvasRenderingContext2D'.ts(2339)
这来自以下行:
CanvasRenderingContext2D.prototype.wrapText = function(text, x, y, maxWidth, lineHeight)
我想我可以在 lib.dom.d.ts 文件中添加声明,该文件位于 VS Code 的 node_modules 扩展部分。这是修复它的唯一方法吗?我很好奇为什么它不包括在内。我是 运行 2021 年 4 月版的 VS Code,因为我刚刚升级了它。
我找不到证明上下文中应该存在现有 wrapText
定义的参考,即使有这样的成员 属性,它也不一定是可写的。
我认为这个猴子修补模式正在添加一个新的 属性,这在以前根本不存在。
我将此解释为正常的过度 属性 打字稿检查行为,这意味着您不能将意外属性分配给预定义类型的实例。
https://riptutorial.com/html5-canvas/example/18590/wrapping-text-into-paragraphs 声明没有预先存在的实现并采用类似的模式(在 javascript 中没有多余的 属性 检查所以没有错误)。
在不操纵任何 node_modules 或 VSCode 元数据的情况下,您仍然可以通过使用全局增强来安排使此可选 属性 在项目本地的 CanvasRenderingContext2D 上有效... https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation