Je suis novice en TypeScript et plus je lis sur les modules et les espaces de noms, plus ça me rend confus. Dois-je aller avec des modules? Dois-je aller avec des espaces de noms? devrais-je utiliser les deux? Aidez-moi!Organisation TypeScript: espaces de noms? modules? confusion
J'ai des fichiers javascript (.js) que j'essaie de convertir en TypeScript. Il existe un fichier .js avec certaines fonctions générales et un fichier .js avec certaines fonctions spécifiques aux filtres. Maintenant, je voudrais organiser cela un peu plus avec TypeScript, comme je le ferais normalement avec C#.
Est-ce un usage correct ou comment devrait-il être organisé? Je n'utilise pas de module, devrais-je? (Comment?)
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>();
}
}
}
pouvez-vous donner un exemple de la façon dont ce code ressemblerait avec des modules? comme je n'ai jamais utilisé de modules en javascript ou en tapuscrit. (première fois en fait que j'utilise des espaces de noms en javascript). – juFo