TypeScript编译器无法识别导出的类

时间:2016-09-05 09:48:59

标签: typescript

我的应用程序中有以下模块:

在Loader.ts中:

module Loader {

    export default class FLoader {

        constructor () {}

        // blahblahblah...

    }
}

在Renderer.ts中:

import Loader from "../Loader";

module Renderer {

    export default class FRenderer {

        constructor () {}

        public SomeFunction(): void {

            let myLoader = new Loader(); // error: Cannot use 'new' with an expression whose type lacks a call or construct signature

        }

    }
}

我在代码中发现错误:无法使用' new'表达式缺少调用或构造签名的表达式

我正在关注文档here。我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为它应该是:

export module Loader {
    export class FLoader {
        constructor () {}

        // blahblahblah...
    }
}

然后:

import * as Loader from "./Loader";

let myLoader = new Loader.FLoader();

至少这对我有用。

修改

正如@JimW评论的那样,这段代码不起作用,它应该像这样使用:

let myLoader = new Loader.Loader.FLoader();

为了使它成功,它应该是:

// Loader.ts
export class FLoader {
    constructor () {}

    // blahblahblah...
}

然后导入它:

import * as Loader from "./Loader";
let myLoader = new Loader.FLoader();

没有必要为module创建Loader,因为它只是通过使用不同的文件来实现。