Ich habe eine angular
Anwendung, in typescript
geschrieben, deren config
Registrierung war gerade außer Kontrolle geraten, und riesig - es dauerte etwa 3 Seiten.typescript - Namespaces nicht im Import enthalten
Also habe ich es in mehrere config(fn)
Abschnitte aufgeteilt, und so viel Logik aus dieser Seite wie ich konnte bewegt und bestimmte Verhaltensweisen in ihre eigenen Klassen eingekapselt; es schien die clevere Art zu sein, es zu säubern.
jede der neuen Klassen sieht in etwa so aus;
namespace config {
export class http {
constructor($httpProvider: ng.IHttpProvider){
// $httpProvider configuration
}
}
}
so wieder in meinem main.ts
, die Datei, die meine module
schafft und alles registriert, ich importieren sie über.
import { http } from './config/http';
import { router } from ./config/router';
// etc.
aber der Namensraum scheint nicht ein Teil davon zu sein. Ich kann sie nicht nennen, wie ...
config(config.http)
config(config.router)
// etc.
Ich habe musste, anstatt sie neue Alias geben, wenn sie bringen in;
import { http as configHttp } from './config/http';
import { router as configRouter } from './config/router';
// etc.
Warum ist das? Kann ich irgendetwas tun, um die Namespace-Definition intakt zu halten und die einfachere Methode zu verwenden, die ich anstrebte?
Ein Namespace erstellt eine globale Variable, sodass Sie keine import-Anweisung ausführen müssen. Stellen Sie nur sicher, dass alle Ihre JavaScript-Dateien in Ihre HTML-Datei geladen sind. – rgvassar