2017-11-13 33 views
0

Update: Vielen Dank für Daniels Antwort unten. Ich habe aber gefunden rollup.js für mich zu beantworten. Es kann zirkuläre Abhängigkeiten zwischen Klassen in Projekten gut umgehen (webpack hat damit gekämpft), arbeitet direkt am ES6-Modulformat und gibt sehr einfach Code sowohl für Knoten als auch für Browser aus.Separate Dateien für jede Klasse in Typescript?


Hallo (: Was ist eine gute Übung für Typoskript Codierung, wenn große Mengen von Klassen aufweisen, die sowohl im Browser oder in Knoten verwendet werden könnten Haben Sie mehrere Klassen in einzelne Dateien und behandeln sie als Namensraum setzen, oder ist es eine andere Möglichkeit?

ich in eine hauptsächlich C# -Programmierer mit freu Typoskript für ein neues Projekt verwendet wird. ich sehe, dass ich interne Module in eine großen JS-Datei kompilieren kann Referenzen und --outfile oder Verwendung mit externe Module mit commonjs oder amd.

Traditionell habe ich Platz jede Klasse in einer einzelnen Datei, und das fühlt sich auch in Typescript natürlich an. Nehmen wir an, ich habe 200 Klassen in meinem Projekt, das ergibt mehr als 200 Dateien, die beim Ausführen im Browser heruntergeladen werden müssen, was ... übertrieben erscheint.

+1

'dies ergibt mehr als 200 Dateien zum Herunterladen, wenn im Browser ausgeführt wird, was ... exzessiv erscheint <<= das wäre übertrieben, weshalb Sie sie bündeln sollten. Es gibt viele Tools, die dies für Sie tun können, und Sie können das in einen Build-Prozess integrieren. – Igor

Antwort

2

Ja, Sie würden versuchen, kleine Klassen/Module mit Typescript mit jeder in einer eigenen Datei zu schreiben.

Wenn Sie Ihre App bereitstellen, möchten Sie jedoch nicht, dass der Browser jede Datei lädt. Sie brauchen also etwas, um Ihre Dateien zu bündeln und sie in eine Javascript-Datei zu packen. Build Tools helfen Ihnen dabei (sie entfernen auch Leerzeilen/unnötige Abstände und Kommentare).

Beliebte Build-Tools sind

https://gruntjs.com/

https://github.com/webpack/webpack

Wenn Sie von einem C# -Hintergrund kommen, könnte Grunzen besser vertraut scheinen als webpack zu Ihnen.

Ich benutze Webpack.

+0

Dank Daniel für die Antwort, es zeigte mir in die richtige Richtung (was sehr nett ist, wenn Sie neu für ein Feld sind). Ich habe eigentlich mit rollup.js nach der Verwendung von Webpack für ein bisschen endete. Webpack behandelt zirkuläre Abhängigkeiten nicht gut, während Rollup es richtig zu machen scheint. Vielen Dank (: – knut

Verwandte Themen