量角器和打字稿:在不同文件中定义的类,但同一模块导致“声明异常”

时间:2014-09-25 16:22:01

标签: module typescript protractor

我完全糊涂了我在这里做错了什么。

假设我有一个包含以下内容的测试文件'SimpleTest.ts':

/// <reference path="../otherdir/simpleclass.ts" />
module MyModule.SubModule {
    describe("this test", () => {
        var myObject: SimpleClass = new SimpleClass("");

        it("doesn't even get here!", () => {
            expect(myObject).toBeDefined();
        });
    });
}

此处的类在不同的文件中定义,但在同一模块中,如下所示:

module MyModule.SubModule {
    export class SimpleClass {
        constructor(private myMember: string) {}
    }
}

因此两个定义都位于同一个模块中。打字稿编写得很好,一切看起来还不错。

但是当我启动量角器时(是的,我已经正确配置了'specs:'文件的路径),它会因错误而停止

   this test
    encountered a declaration exception - fail

我知道我可以通过使用module.export和require来实现它,但这不是一个好的解决方案。

首先,当我使用javascript'require'时,我放松了打字稿的类型检查,并且类型检查是我首先使用它的原因之一。

其次,我认为将普通的javascript混合到打字稿代码中是不好的方式。

任何帮助将不胜感激!

提前致谢, 问候, 约尔格

1 个答案:

答案 0 :(得分:0)

停止使用内部模块。

在尝试理解TypeScript时,老老实实地帮了我很多忙。 我对内部TypeScript模块的体验得到了回答here 。 您可以阅读Steve Fenton here的文章了解更多详情。

我希望这对你有任何帮助。