2
我完全困惑我在做什麼錯在這裏。量角器和Typescript:類定義在不同的文件,但相同的模塊導致'聲明異常'
說我有一個測試文件「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) {}
}
}
所以這兩個定義都駐留在同一個模塊中。 Typescript編譯好,一切看起來都OK。
但是當我開始量角器(是的,我已經配置「功能:」路徑正確的文件),它與錯誤
this test
encountered a declaration exception - fail
我知道,我能得到它通過使用模塊的工作停止.export和require,但這不是一個好的解決方案。
首先,我鬆散了打字稿的類型檢查,當我使用javascript'require'時,類型檢查是我首先使用它的原因之一。
二,我認爲這是糟糕的風格混合普通的JavaScript到打字稿代碼。
任何幫助,將不勝感激!
由於提前, 問候, 約爾格
TypeScript將很高興地爲commonjs和amd模塊輸出代碼。我正在使用Jasmine(這是Protractor使用的)模塊 - 我正在使用AMD,這有點棘手,因爲你需要讓Jasmine等待,直到你準備好了。 http://www.stevefenton.co.uk/Content/Blog/Date/201407/Blog/Combining-TypeScript-Jasmine-And-AMD-With-RequireJS/ – Fenton 2014-09-26 07:49:13
您是否找到了解決方案?我有同樣的問題,直到現在還找不到任何解決方案。 – Milton 2015-03-11 17:47:24