2014-04-15 16 views
17

Jak można skompilować TypeScript 1.0 w przeglądarce?Jak skompilować TypeScript w przeglądarce?

Przypuszczam, że powinno to być jako proste jako ładowanie odpowiednich plików JS maszynopisu, tworzenie instancji odpowiedniej klasy (kompilator?) I wywoływanie metody lub dwóch.

Nie wymaga to żadnego konkretnego narzędzia, ale KAŻDY sposób to zrobić z tym konkretnym językiem komputera, a więc jest na temat.

+0

Dlaczego chcesz to zrobić? Powinieneś używać TypeScript tylko do programowania, mieć watcher plików (lub mieć skrypt budujący), aby skompilować plik ts do pliku js, gdy pliki zostaną zmienione, i załadować skompilowane js do przeglądarki (zarówno w fazie projektowania, jak i produkcji). Ponieważ kompilator dodaje odniesienie do mapy źródłowej (skompiluj ją przy użyciu opcji '--sourcemap'), będziesz mógł debugować w przeglądarce pliku TypeScript, więc wszystko to uzyskasz ... –

+3

Z wielu powodów, ale tak dla kodu produkcyjnego, którego normalnie byś nie chciał. Ale niektóre powody mogą polegać na budowaniu takiego placu zabaw na maszynach typecriptlang.org lub budowaniu internetowego IDE, lub kompilatora opartego na Internecie, lub może na kompilatorze niż na kopiowaniu plików na serwery za pośrednictwem usług w chmurze. W moim przypadku szukam tylko zwięzłego przykładu bez pełnego obciążenia TSC do kompilacji pojedynczego pliku. Mój scenariusz nie był w rzeczywistości w przeglądarce, ale w skrypcie PowerShell obsługującym silnik Chakra JS, ale najprostszym sposobem na uzyskanie tego był prosty skrypt oparty na przeglądarce. – klumsy

+2

Komentarz, ponieważ Q jest zamknięty: Szukasz metody transpile() na domyślnym wyeksportowanym module pakietu TYP napisów. import * jako TS z "maszynopisu"; TS.transpile (sourceTS) -> zwraca transpsowane JS. https://github.com/Microsoft/TypeScript/blob/master/lib/typescript.d.ts#L4548 ​​ – NiloCK

Odpowiedz

9

Można użyć typescript-script: https://github.com/basarat/typescript-script

Jednak nie rób tego w produkcji jak to będzie powolne.

Możesz użyć browserify do załadowania pakietów npm w przeglądarce.

+0

Dlaczego miałoby to być niebezpieczne? –

+0

@DavidGiven Nie wiem, dlaczego myślałem, że będzie obsługiwał dane TypeScript * przez użytkownika *. Tak usunięte. Dzięki! – basarat

+3

wygląda przestarzały i porzucony, jesteś pewien? – xamiro

Powiązane problemy