我是新來的TypeScript,我對模塊和命名空間的瞭解越多,它就越困惑。我應該使用模塊嗎?我應該去命名空間嗎?我應該同時使用嗎?幫幫我!TypeScript組織:名稱空間?模塊?混淆
我已經現有的JavaScript(.js文件),我試圖將轉換爲打字稿文件。 有一個.js文件包含一些通用函數和一個.js文件,其中包含一些特定於過濾器的函數。現在
我想用打字稿更多的組織這一點,因爲我通常會用C#做的。
這是正確的用法還是應該如何組織?
我沒有使用模塊,應該嗎? (如何?)
Company.ts
namespace Company {
// nothing yet, but in future it might.
}
Company.Project.ts
namespace Company.Project {
import Company; // like this?
let myVar : string = "something";
export function handyGeneralFunction1(foo, bar) {
// ...
}
export function handyGeneralFunction2(foo, bar, foo, bar) {
// ...
doInternalCalc();
// ...
}
export function handyGeneralFunction3() {
// ...
}
function doInternalCalc() {
// ...
}
}
Company.Project.Filter.ts
namespace Company.Project.Filter {
import Project = Company.Project; // like this?
export function initializeFilter() {
// ...
initMetadata();
// ...
}
function initMetadata() {
// ...
Project.handyGeneralFunction3();
let helper : FilterHelper = new FilterHelper("aaaa,bbbb");
let res:string[] = helper.parseData();
}
function foo() {
// ...
let x :string = Project.myVar + " else"; // can I use myVar here?
}
// a class in the namespace
export class FilterHelper {
data: string;
constructor(theData: string) {
this.data = theData;
}
parseData() : string[] {
// ...
return new Array<string>();
}
}
}
在打字稿深潛的部分,你可以給這個代碼將如何看起來像模塊的例子嗎?因爲我從來沒有在JavaScript或打字稿中使用過模塊。 (實際上我第一次使用JavaScript中的命名空間)。 – juFo