Ist es möglich, TypeScript in minimierten Code zu kompilieren?


91

Gibt es eine Option, um die Ausgabe des TypeScript-Codes als minimiert zu kompilieren? Oder müssen wir uns in einem separaten Prozess darum kümmern? Und beeinflusst die Verschleierung die Antwort?

Antworten:


61

Der TypeScript-Compiler unterstützt nicht die Generierung von minimiertem oder verschleiertem Code. Sie müssen ein anderes Tool für die JavaScript-Ausgabe des Compilers verwenden.

Es gibt eine offene Funktionsanforderung: Microsoft / TypeScript # 8


1
Sie können YUI Compressor, JSMin oder Closure Compiler verwenden, um JS-Code zu minimieren.
— Niutech

1
das habe ich letztendlich getan. Ich habe einen Befehl nach dem Kompilieren hinzugefügt, der die Datei app.js an den YUI-Kompressor übergibt, sodass ich im Wesentlichen die Minimierung der Kompilierungszeit erhalten habe.
— LordZardeck

13
Web Essentials kann dies automatisch von Ihren ts aus tun.
— Joeriks

1
Wie @joeriks sagt, laden Sie WebEssentials2012 herunter, es kann automatisch eine min.js-Version Ihrer Datei erstellen
— JasonS

19
Das ist so schlecht. Es klingt sehr vernünftig, minimierten Code mit der entsprechenden .map zu erstellen, wenn die gesamte Infrastruktur im TypeScript-Compiler angegeben ist. Auch im VS-Fall könnte es sich um eine vollständig integrierte Lösung handeln, sogar um eine Konfigurationseinstellung.
— g.pickardou

20

Ich bin der Autor des Typoskript-Closure-Compilers .
Grundsätzlich handelt es sich um ein Tool, das Dateien ausgibt, die mit dem Google Closure Compiler kompatibel sind. Dies ist wahrscheinlich der beste Minifier / Optimizer / Obfuscator auf dem Markt.
Ich habe auch einen Spielplatz erstellt, der Ihnen die generierte Ausgabe zeigen kann.
Sie können einen Blick auf ein Beispiel nehmen Projekt , das dieses Tool verwendet.
Der Minifizierungsprozess erfolgt mit Schluck.


Spielplatz ist kaputt
— devnull
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.