Wir verwenden derzeit RequireJS mit CoffeeScript, um benutzerdefinierte JS-Dateien zu generieren. Wir verwenden jedoch nicht das Compiler-Tool "r.js", um den Code mit dem Header "define" zu optimieren. Unsere aktuelle Implementierung erfordert, dass wir die volle define
Anweisung am Anfang jeder Kaffee-Datei setzen:Die beste Methode zum Erstellen einer einzelnen JavaScript-Datei für alle meine Seiten mit Typescript
define('charts/bar', ['charts/base','constants'], (BaseModel, Constants) ->
class BarChart extends BaseModel
...
Wir suchen nach Typoskript bewegen, so können wir den Einsatz von Refactoring und all der anderen Güte machen, die mit ihm kommt. Das Problem, auf das wir stoßen, ist, dass wir nicht herausfinden konnten, wie wir alle unsere TypeScript-Dateien in einer einzigen Datei kompilieren.
Zum Beispiel nehmen die folgenden Dateien:
- Charts/
- bar.ts
- line.ts
- base.ts
- Benutzer/
- profile.ts
- security.ts
- friends.ts
- data/
- geo.ts
- population.ts
- voting.ts
Mit all diesen Dateien möchten wir sie in eine einzige Datei namens utils.js
setzen und diese js-Datei über mehrere Seiten hinweg wiederverwenden. Eine Seite verwendet möglicherweise nur die Benutzer/Sicherheit Klasse, während die nächste Seite möglicherweise die Daten/geo Klasse zusammen mit einigen der verschiedenen Tabelle Klassen verwenden.
Wie können wir dies mit Requirejs konstruieren?
Hinweis: Eine Sache zu beachten ist, dass wir keinen einzigen Einstiegspunkt für diese Klasse haben. Es dient ausschließlich dazu, Hilfsklassen und Basisimplementierungen zu verwenden, die wir in anderen Klassen erweitern können.
Bündelung ist kein Typoskript Sorge. Typescript erzeugt die passenden JS-Dateien für Sie (einschließlich der Definitionsblöcke), aber das Zusammenfügen sollte die Arbeit Ihres Bundlers sein (browserify/uglify/r.js/etc.). – Paarth