JavaScript içine typescript Dönüşüm

oy
17

Bunun mümkün dönüşümü için ne kadar merak ediyorum typescript bir çapraz platform şekilde JavaScript içine. Ben kullanılabilirliği hakkında farkındayım typescript için düğüm paket yöneticisiyle sunucu tarafında kullanılabilen başka alternatifleri, ama vardır?

Oluştur 01/10/2012 saat 19:16
kaynak kullanıcı
Diğer dillerde...                            


9 cevaplar

oy
25

Typescript derleyici daktilo inşa ve dolayısıyla bir JS dosyasına (olarak mevcuttur edilir tsc.jssadece herhangi ES3-compiliant VM veya JS uygulaması hakkında kullanılarak çalıştırılabilir).

Yani derleyici 'geçerli dosya G / Ç altyapısı sadece Düğüm ve Windows Scripting Host dosya API'leri destekler söyledi. Başka bir çevre için destek tavsiye etmek isterseniz, bizim de Ekibe ulaşmak çekinmeyin GitHub sitesinde (Eski adıyla Codeplex )

Cevap 01/10/2012 saat 19:36
kaynak kullanıcı

oy
12

Belki istediğiniz cevap değil, ama herkes belirtildiği gibi, derleyici seçenekleriniz bir JS dosyası yürütme seçenekleridir, bir JS dosyası, bu yüzden.

Windows, 2 bariz olanları, Düğüm ve Windows Komut Dosyası vardır.

Diğer seçenek Windows (Bence), bunu şöyle yapabiliriz tüm sürümleri ile birlikte gelen bir bileşenidir, zaten düğüm hakkında biliyorum:

cscript path/to/tsc.js source-file.ts

Sadece bütün derleyici seçeneklerini görebilirsiniz:

cscript path/to/tsc.js

Linux'ta Sana (düğüm ek olarak) kullanmak mümkün olmalıdır varsayalım:

  • V8 bağımsız kabuk, değiştirme nodeya da cscriptbirliktev8-shell
  • ExecJS https://github.com/sstephenson/execjs
  • Seçilen platformda olarak hazır herhangi diğer JS geçişin (başka bir yanıt, örneğin Rhino sözü)

Güncelleme: daha sonra Linux üzerinde size typescript derlemek Düğüm gerekir eğer doğruysa başka cevap, derleyici API düğümü ve Windows Script Host (cscript aracı) ile uyumludur anlaşılacağı yani.

Eğer böyle bir şey arıyorsanız apt get tsc(veya Linux / Mac paket yöneticileri gibi ne olursa olsun), orada olmadığını düşünüyorum.

Platform bağımsızlık arayışına eğer seçenekleri ile sorunları varsa ben, G / Ç Düğüm ve Windows komut dosyası için optimize edilmiştir okuduğumu, bu yüzden hatırlıyorum, muhtemelen Düğümü ile bitireceğiz.

Güncelleme: Buradaki başka bir cevap uyumluluğu hakkında aynı doğruluyor.

Cevap 03/10/2012 saat 04:23
kaynak kullanıcı

oy
5

Somut olarak, sunucuda (sunucu varsayarak mevcut node.js vardır), sadece kaçardım:

node path/to/tsc.js yourFile1.ts yourFile2.ts [etc]

Sen tsc.js. için komut satırı yardımına görmek için herhangi bir giriş dosya adları olmadan bu komutu çalıştırabilirsiniz

Cevap 01/10/2012 saat 23:39
kaynak kullanıcı

oy
3

Ben Java Javascript typescript derler bir projesi var:

https://github.com/martypitt/typescript4j

Diğer yanıtlar tartışıldığı gibi, bu Rhino kullanır, böylece bağımlılıkları yoktur npmya node.

İşte bir örnek:

// Instantiate the compiler:
TypescriptCompiler compiler = new TypescriptCompiler();

// Compile a string:
String output = compiler.compile("class Greeter { greeting: string; }");

// Or, compile and output to a file:
compiler.compile(new File("example.ts"), new File('output.js'));

Ben kullanmak başka proje - 'Bakehouse' Bahar ortamlarda typescript kaynakların on-the-fly derleme gerçekleştirmek için

Cevap 17/01/2013 saat 08:35
kaynak kullanıcı

oy
3

Eğer daha sonra hedef gerekir Java buysa size oluşturma işleminin bir parçası olarak Rhino motoru ile tsc.js çalıştırabilir.

Cevap 02/10/2012 saat 12:34
kaynak kullanıcı

oy
2

ts derlemek için -> js: düğüm tüm ortak platformlar için kullanılabilir, bu yüzden zaten bir tsc.js. varken bir tsc.java sahip olmak isterdim neden göremiyorum düğümünü takma hiç önemli değildir. Aslında, Java daha kolay.

Eğer proj.js dosyasını aldıktan sonra, o zaman hangi istediğiniz her zamankinden dağıtım platformu kullanmak kopyalayabilirsiniz.

Benim bakış itibaren, JavaScript - ya da daha doğru bir ECMAScript Java için bir alternatiftir. Bu yüzden ben aracı kullanmak için JVM vb kavga gerekmez mutluyum. Java'yı tercih Fakat, neden bile JS ile rahatsız?

Cevap 02/10/2012 saat 01:12
kaynak kullanıcı

oy
1

Bunun ile oynamak ettik ve aşağıdaki kodla javascript ile typescript derlemek olabilir:

<script src=typescript.js></script>

<script>

var scriptText = ""
        + "/// <reference path=\"test.ts\"/>" + "\r\n"
        + "class Car {"
        + "     constructor (private name: string) { } "
        + "     getName() { "
        + "         var juice = new Juice();"
        + "         return name; "
        + "     } "
        + "} "
        + "var car = new Car('Subaru Impreza');"
        + "console.log(car.getName());";





var TextWriter = function () { };

TextWriter.prototype = {
collected: '',

Write: function (sc) {
    this.collected += sc;
},
WriteLine: function(sc) {
    this.collected += sc + '\n';
},
toString: function() {
    return this.collected;
}
};

var output = new TextWriter();
var tsc = new TypeScript.TypeScriptCompiler(output);

var script = tsc.addUnit(scriptText, "");

tsc.emit();

console.log(output.toString());

</script>

Gerçi pek ideal değil. Ben bu yüzden C # (JavaScript .NET kullanarak) içinde JS için typescript dönüştürebilirsiniz çalıştıran bir şeyler almaya çalışıyorum, ama ts.addUnit çağrı üzerine bir yığın taşması alıyorum.

Cevap 02/10/2012 saat 18:48
kaynak kullanıcı

oy
0

Bu benim için çalıştı budur:

İlk olarak, yüklü typescript düğüm modülü >> npm install -g typescript. Bu bir komut satırı yardımcı verir tsc.

Sonraki, tsc gulpfile.ts gulp-config.ts typings/tsd.d.ts

  • Bu irade ve dosyalarını ve . Biz tedarik doğru transpilation için referans olarak dosyayı. transpilegulpfile.tsgulp-config.tsgulpfile.jsgulp-config.jstypings/tsd.d.ts
  • typescript Düğüm modülü >> birçok seçenek kapsar tsc -hbelirtmek için vb çıkış dizin veya dosya, .

Bu yardımcı olur umarım.

Cevap 23/05/2016 saat 04:47
kaynak kullanıcı

oy
0

Kandırmak SublimeText2 doğrudan SublimeText2 (eğer düğüm gerekir) dan javascript typescript transpile edebilirsiniz:

Bir oluşturma Typescript.sublime-builddosyası içinde /Sublime Text 2/Packages/Userbu içerikle:

{
"cmd": ["tsc", "$file"],
"selector" : "source.ts",
"path": "/usr/local/bin:$PATH"
}

Daha sonra, şimdi, ctrl + B veya cmd + B ile kodunuzu transpile edebilirsiniz

Cevap 02/10/2012 saat 07:46
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more