打字稿,要求模块作为类

时间:2015-02-28 18:48:33

标签: javascript typescript amd

我使用现有的js库,在我的打字稿代码中使用AMD模块。我想使用Javascript类作为我的Typescript类的基础。这就是我想要做的事情:

famous.js

define('famous/core/View',['require','exports','module'],function(require, exports, module) {

    function View() {
        ...
    }

    ...

    module.exports = View;
});

View.d.ts

声明模块" famous / core / View" {

}

AppView.ts

导入View = require(' famous / core / View');

类AppView扩展了View {

}

export = AppView;

但它说"找不到名字'查看'"。我认为这是合乎逻辑的,因为模块不是一个类,但我不知道另一种方式。

2 个答案:

答案 0 :(得分:1)

您需要定义一个类并在View.d.ts中使用export =。例如:

declare module "famous/core/View" {
   class View {
      // TODO define members of View
   }
   export = View;
}

答案 1 :(得分:0)

在进一步分析中,它似乎纯粹是一个需要配置问题。它不应与class vs module有任何关系。您确定您的路径是否正确并且您有config.ts要求的配置文件?