我有一個大型的Typescript項目,它將連接到單個JS文件中進行部署。 確保以正確順序排列文件的正確方法是什麼?有太多的文件需要手動嘗試和維護。Typescript中的依賴關係解析
如果文件A中的類依賴於文件B中的類,那麼生成的連接文件中的類的排序很重要。如果文件B比文件A晚出現,則在運行時不能解析該類。
這肯定是一個普遍的問題,應該有一個簡單的解決它。 一個警告是我使用命名空間而不是模塊。我不確定整個項目中使用模塊是否可以解決此問題。
下面是一個簡單的例子 TestClassA.ts
namespace Test {
'use strict';
import TestClassB = Test.TestClassB;
export class TestClassA {
private test: TestClassB;
constructor() {
this.test = new TestClassB();
}
}
}
TestClassB.ts
namespace Test {
'use strict';
export class TestClassB {
private value: string;
constructor() {
this.value = 'test';
}
}
}
TestClass.spec.ts
'use strict';
describe('test',(): void => {
it ('should create an object',(): void => {
let a: Test.TestClassA = new Test.TestClassA();
expect(a).toBeDefined();
});
});
在Karma.config文件中指定的文件作爲
files: [
'src/**/*.js',
'test/**/*.spec.js'
],
測試將失敗與例外TestClassB不是構造函數。
相反,如果我指定的Karma.config文件作爲 文件:[ 'SRC/TestClassB.ts', 'SRC/TestClassA.ts', '測試/ **/* spec.ts。']
然後測試會通過。
但隨着數百個文件,這樣做的一個項目變得難以維護。
我現在已經發現,如果我在TestClassA使用時完全量化TestClassB作爲Test.TestClassB的名稱,然後一切都很好,它作品。我原以爲這就是進口聲明中的別名所做的。 –