我是新来的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