2014-04-15 52 views
17

TypeScript 1.0如何在瀏覽器中編譯?如何在瀏覽器中編譯TypeScript?

我推測它應該是簡單加載相關的打字稿JS文件,創建一個正確的類(編譯器?)的實例,並調用一個或兩個方法。

這不是要求任何特定的工具,但任何方式使用這種特定的計算機語言來做到這一點,因此是主題。

+0

你爲什麼要這麼做?您應該只使用TypeScript進行開發,當文件發生更改時,讓文件觀察器(或者具有構建腳本)將ts文件編譯爲js文件,並將編譯後的js加載到瀏覽器(包括開發和生產中)。由於編譯器添加了對源映射的引用(使用'--sourcemap'選項編譯它),您將能夠在TypeScript文件的瀏覽器中進行調試,因此您可以得到它全部... –

+3

由於多種原因,但對於您通常不想要的生產代碼是的。但有些原因可能是在typescriptlang.org上構建一個這樣的遊樂場,或者構建一個Web IDE,基於Web的編譯器,或者編譯器,然後通過雲服務將文件複製到服務器。在我的情況下,我只是尋找一個沒有TSC的全部負擔來編寫單個文件的精美例子。我的場景實際上並不在瀏覽器中,而是在託管Chakra JS引擎的PowerShell腳本中,但最簡單的方法是使用基於瀏覽器的簡單腳本。 – klumsy

+2

評論,因爲Q已關閉:您正在尋找Typescript npm軟件包的默認導出模塊上的transpile()方法。從'打字稿'導入*作爲TS; TS.transpile(sourceTS) - >返回傳輸的JS。 https://github.com/Microsoft/TypeScript/blob/master/lib/typescript.d.ts#L4548 – NiloCK

回答

9

您可以使用typescript-scripthttps://github.com/basarat/typescript-script

然而不生產做到這一點,因爲它將會是緩慢的。

您可以使用browserify在瀏覽器中加載npm包。

+0

爲什麼它會不安全? –

+0

@DavidGiven我不知道爲什麼我認爲他將提供由用戶*輸入的TypeScript *。如此刪除。謝謝! – basarat

+3

看起來過時了,被遺棄了,你確定嗎? – xamiro