Module 量角器和类型脚本:在不同文件中定义的类,但同一模块导致';声明例外情况';

Module 量角器和类型脚本:在不同文件中定义的类,但同一模块导致';声明例外情况';,module,typescript,protractor,Module,Typescript,Protractor,我完全搞不清楚我到底做错了什么 假设我有一个测试文件“SimpleTest.ts”,其中包含以下内容: /// <reference path="../otherdir/simpleclass.ts" /> module MyModule.SubModule { describe("this test", () => { var myObject: SimpleClass = new SimpleClass(""); it("doesn

我完全搞不清楚我到底做错了什么

假设我有一个测试文件“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();
        });
    });
}
因此,这两个定义驻留在同一个模块中。Typescript编译得很好,看起来一切正常

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

   this test
    encountered a declaration exception - fail
我知道我可以通过使用module.export和require使其工作,但这不是一个好的解决方案

首先,当我使用javascript“require”时,我放松了typescript的类型检查,类型检查是我首先使用它的原因之一

其次,我认为将普通javascript混合到typescript代码中是一种糟糕的风格

任何帮助都将不胜感激

提前感谢,, 当做
Jörg

停止使用内部模块

当我试图理解打字稿时,它确实帮了我很多。 回答了我使用内部TypeScript模块的经验 . 你可以阅读史蒂夫·芬顿的文章了解更多细节


我希望这对您仍然有帮助。

TypeScript将很乐意为commonjs和amd模块输出代码。我用Jasmine(量角器就是这么用的)来处理模块很好——我用AMD来做,这稍微有点棘手,因为你需要让Jasmine等到你准备好。你找到解决办法了吗?我也有同样的问题,到现在为止找不到任何解决办法。
   this test
    encountered a declaration exception - fail