2015-05-25 3 views
19

Grundsätzlich muss ich TypeScript in meiner IDE schreiben können (dies führt sehr einfach in die Entwicklung), kompilieren Sie es zu ES6 (in der Nähe von js) und wenden Sie dann babel.js an (wie alle Browser die meisten ES6 nicht unterstützt) die resultierenden ES5-Skripte.Kann TypeScript nach ES6-Code kompilieren?

Ist das möglich oder wie kann ich das gleiche Ergebnis erzielen?

+2

Warum benötigen Sie ES6 als Ausgabe? Welches Problem versuchen Sie zu lösen? – Pointy

+4

TypeScript 1.5 hat einen ES6-Ausgabemodus. Sie können das resultierende Javascript dann über Babel ausführen. – CodingIntrigue

+0

Warum nicht gleich zu es5 kompilieren? – Raulucco

Antwort

25

Ja.

Sie können den TypeScript-Compiler auf ES6 ausrichten.

Zum Beispiel fügen Sie diese Befehlszeile argumente:

--target es6 
1

TypeScript ist mehr oder weniger ES6 mit sehr wenig syntaktischem Zucker. Ich würde vorschlagen, schreiben Sie Vanilla ES6 anstelle von TypeScript, aber auf der anderen Seite ist TypScript-Tooling lohnt sich die zusätzliche Mühe zu schreiben TypeScript und transpile es in ES6 und lassen Sie Babel den Rest erledigen.

Hier ist eine bequemere Option wie in einem Kommentar erwähnt, aus TypeScript 1.5 haben Sie die Möglichkeit, auf ES6 zu transpilen.

+1

sind alle Funktionen von ES6 in diesem Transpiler? – zmii

+0

außer Typoskript hat optionale Typisierung, Schnittstellen, die eine starke Typisierung von nicht typisierten js-Abhängigkeiten erlauben, und viele andere Dinge. Es ist ES6 im Kern, aber viel mehr. – x0n

+0

ist nicht einer der großen Vorteile für das Schreiben von Typescript die Tatsache, dass es kompiliert werden muss? Und das wird dir helfen, Fehler zu finden? – thedanotto

3

Sie können Typoskript verwenden, um reines ES6 zu schreiben und dann auf ES3 oder ES5 zu übertragen. Seit Typescript ist ES6 plus Goodies.

Sehen Sie, wie mit Less, um Ihre CSS zu schreiben, können Sie reines CSS in einer weniger Datei schreiben und es wird gut kompilieren.

Für Typoskript 1.8 Sprache spec:

Typoskript ist ein syntaktischer Zucker für JavaScript. TypeScript-Syntax ist eine Obermenge der ECMAScript 2015 (ES2015) -Syntax. Jedes JavaScript-Programm ist auch ein TypeScript-Programm.

Die TypeScript-Syntax umfasst alle Funktionen von ECMAScript 2015, einschließlich Klassen und Modulen, und bietet die Möglichkeit, diese Funktionen in ECMAScript 3 oder 5-kompatiblen Code zu übersetzen.

1

Ja, Sie können.

Entweder durch --target es2015 Zugabe oder durch target auf Ihre tsconfig.json Zugabe:

{ 
    "compilerOptions": { 
    "target": "es2015" 
    } 
} 

Unterstützte Optionen für Ziel sind:

  • "ES3" (default)
  • "ES5"
  • "ES6"/"ES2015"
  • "ES2016"
  • "ES2017"
  • "ESNext"

Es gibt eine Menge von mehr Konfigurationsoptionen.Sie können sie hier erkunden:

Einige Optionen sind nur in tsconfig.json erlaubt, und nicht über Befehlszeilenschalter.