【问题标题】:variable declaration works sometimes, gets "namespace error" others变量声明有时有效,得到“命名空间错误”其​​他
【发布时间】:2018-03-09 11:01:42
【问题描述】:

我的项目中有以下代码:

1  declare const fabric: any;
2  class XCanvas {
3      public canvas: fabric.Canvas;
4
5      constructor() {
6          this.canvas = new fabric.Canvas();
7      }
8  }

我正在使用美妙的 fabricjs 库,但我使用的是最新版本,而 @types 库有几个版本已经过时了。我很难在打字稿中使用它,因为它总是会出错,但这是我得到的最接近的。

所以,第 6 行编译得很好,没问题。但是第 3 行给了我这个错误:

Cannot find namespace 'fabric'.

为什么会这样?我如何在没有打字的情况下在我的项目中使用它??

我没有导入或需要它,因为我使用脚本标记将其包含在 HTML 中。

【问题讨论】:

    标签: typescript fabricjs typescript-typings


    【解决方案1】:

    您正在尝试使用您声明为any 的某个成员作为类型信息,这不太奏效。如果fabricany,那么你不能使用fabric.canvas 作为类型注解。工作代码:

    declare const fabric: any;
    
    class XCanvas {
        public canvas: any; // <--
    
        constructor() {
            this.canvas = new fabric.Canvas();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 2014-05-08
      • 2013-01-10
      • 2016-04-30
      • 2016-12-15
      • 1970-01-01
      • 2012-07-19
      • 2013-08-12
      相关资源
      最近更新 更多