私はTypeScriptが新しく、モジュールと名前空間について読むほど、混乱します。私はモジュールを持っていくべきですか?名前空間に付けるべきですか?私は両方を使うべきですか?助けて!TypeScriptの組織:名前空間?モジュール?混乱
TypeScriptに変換しようとしている既存のjavascript(.js)ファイルがあります。 いくつかの一般的な機能を持つ1つの.jsファイルと、フィルタに固有のいくつかの機能を持つ1つの.jsファイルがあります。
これで、通常はC#で行うように、これをもう少しTypeScriptで整理したいと思います。
この正しい使用法ですか、それともどのように整理する必要がありますか?
私はモジュールを使用していませんか? (どうやって?)
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やtypescriptでモジュールを使ったことがないので。 (実際に初めて私はjavascriptで名前空間を使用しています)。 – juFo