जावास्क्रिप्ट में टाइपप्रति बदलने

वोट
17

मैं सोच रहा हूँ कि यह कैसे संभव बदलने के लिए है टाइपप्रति एक क्रॉस मंच ढंग से जावास्क्रिप्ट में। मैं की उपलब्धता के बारे में जागरूक कर रहा हूँ टाइपप्रति के लिए नोड पैकेज प्रबंधक , लेकिन क्या कोई अन्य विकल्प जो सर्वर साइड पर इस्तेमाल किया जा सकता है?

01/10/2012 को 19:16
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


9 जवाब

वोट
25

टाइपप्रति संकलक टाइपप्रति में बनाया गया है, और इसलिए एक जे एस फ़ाइल (रूप में उपलब्ध है tsc.js) कि बस किसी भी ES3-compiliant वीएम या जे एस कार्यान्वयन के बारे में का उपयोग कर चलाया जा सकता है।

जिसके अनुसार, संकलक की मौजूदा फ़ाइल आई / ओ बुनियादी ढांचे केवल नोड और Windows स्क्रिप्टिंग होस्ट फ़ाइल एपीआई का समर्थन करता है। यदि आप किसी अन्य पर्यावरण के लिए समर्थन के लिए सिफारिश करने के लिए चाहते हैं, तो हमारे पर टीम से संपर्क करने में संकोच न GitHub साइट (पूर्व में CodePlex )

01/10/2012 को 19:36
का स्रोत उपयोगकर्ता

वोट
12

शायद यह जवाब आप चाहते हैं नहीं है, लेकिन हर कोई के रूप में उल्लेख किया है, संकलक एक जे एस फ़ाइल है, इसलिए, अपने विकल्पों को एक जे एस फ़ाइल को क्रियान्वित करने के विकल्प हैं।

विंडोज में, वहाँ 2 स्पष्ट हैं, नोड, और Windows स्क्रिप्ट होस्ट कर रहे हैं।

आप नोड के बारे में पहले से ही पता है, अन्य विकल्प के लिए एक घटक है कि विंडोज (मुझे लगता है कि), तो आप इस तरह यह कर सकते हैं के सभी संस्करणों के साथ आता है:

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

तुम बस द्वारा सभी संकलक विकल्प देख सकते हैं:

cscript path/to/tsc.js

लिनक्स पर मुझे लगता है कि आप (नोड के अलावा) का उपयोग करने के लिए सक्षम होना चाहिए:

  • वी 8 स्टैंडअलोन खोल, की जगह nodeया cscriptसाथv8-shell
  • ExecJS https://github.com/sstephenson/execjs
  • किसी भी अन्य जे एस धावक चयनित मंच पर उपलब्ध (एक और उत्तर उदाहरण के लिए राइनो उल्लेख किया)

अद्यतन: एक और जवाब है, पता चलता है संकलक एपीआई नोड और Windows स्क्रिप्ट होस्ट (cscript उपकरण) के साथ ही संगत है, इसलिए सही है, तो लिनक्स पर आप टाइपप्रति संकलित करने के लिए नोड की आवश्यकता होगी।

आप देख रहे हैं की तरह कुछ के लिए apt get tsc(या जो भी लिनक्स / मैक पैकेज प्रबंधकों की तरह हैं), मुझे लगता है कि वहाँ नहीं है।

मैंने कहीं पढ़ने याद है कि मैं / हे नोड और Windows स्क्रिप्ट होस्ट के लिए अनुकूलित है, इसलिए, अगर आप विकल्पों के साथ समस्या है, तो आप शायद नोड के साथ खत्म करता है, तो मंच स्वतंत्रता की मांग करेंगे।

अद्यतन: एक और जवाब यहाँ संगतता के बारे में एक ही पुष्टि करता है।

03/10/2012 को 04:23
का स्रोत उपयोगकर्ता

वोट
5

वस्तुतः, सर्वर पर (अपने सर्वर संभालने उपलब्ध Node.js है), तो आप बस चलाने चाहते हैं:

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

आप tsc.js. के लिए आदेश-पंक्ति सहायता देखने के लिए किसी भी इनपुट फ़ाइल नाम के बिना है कि आदेश चला सकते हैं

01/10/2012 को 23:39
का स्रोत उपयोगकर्ता

वोट
3

मैं एक परियोजना है जो जावा में जावास्क्रिप्ट को टाइपप्रति संकलित है:

https://github.com/martypitt/typescript4j

के रूप में अन्य उत्तर में चर्चा की, इस राइनो का उपयोग करता है, इतने पर कोई निर्भरता है npmया node

यहाँ एक उदाहरण है:

// 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'));

मैं में इसका इस्तेमाल एक अन्य परियोजना - 'Bakehouse' स्प्रिंग वातावरण के भीतर टाइपप्रति संसाधनों की ऑन-द-मक्खी संकलन प्रदर्शन करने के लिए

17/01/2013 को 08:35
का स्रोत उपयोगकर्ता

वोट
3

यदि यह जावा है कि आप तो लक्षित करने की आवश्यकता है कि आप अपने निर्माण की प्रक्रिया के हिस्से के रूप में राइनो इंजन के साथ tsc.js चला सकते हैं।

02/10/2012 को 12:34
का स्रोत उपयोगकर्ता

वोट
2

ts संकलित करने के लिए -> js: नोड सभी आम प्लेटफार्मों के लिए उपलब्ध है, तो मैं यह देखने के लिए कि आप एक tsc.java के लिए आप पहले से ही एक tsc.js. है जब चाहते हैं असफल स्थापित कर रहा है नोड कोई बड़ी समस्या नहीं है। वास्तव में, यह जावा की तुलना में आसान है।

एक बार जब आप अपने proj.js फ़ाइल है, तो आप तो यह जो करने के लिए कभी तैनाती मंच आप चाहें उपयोग करने के लिए कॉपी कर सकते हैं।

देखने की मेरी बात से, जावास्क्रिप्ट - या अधिक सही ECMAScript जावा के लिए एक विकल्प है। इसलिए मैं खुश हूँ कि मैं JVM लड़ाई के लिए आदि उपकरण का उपयोग करने की जरूरत नहीं है हूँ। लेकिन अगर आप जावा पसंद करते हैं, तो क्यों भी जे एस से परेशान?

02/10/2012 को 01:12
का स्रोत उपयोगकर्ता

वोट
1

मैं चारों ओर इस के साथ खेल रहा है, और निम्न कोड के साथ जावास्क्रिप्ट के साथ टाइपप्रति संकलन कर सकते हैं:

<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>

हालांकि यह वास्तव में आदर्श नहीं है। मैं कुछ चल रहा है तो मैं सी # (जावास्क्रिप्ट नेट का प्रयोग करके) के भीतर जे एस के लिए टाइपप्रति परिवर्तित कर सकते हैं पाने के लिए कोशिश कर रहा हूँ, लेकिन मैं ts.addUnit फोन पर एक ढेर अतिप्रवाह हो रही है।

02/10/2012 को 18:48
का स्रोत उपयोगकर्ता

वोट
0

इसी से मेरा काम बना है:

सबसे पहले, स्थापित typescript नोड मॉड्यूल >> npm install -g typescript। यह एक कमांड लाइन उपयोगिता देता है tsc

आगामी, tsc gulpfile.ts gulp-config.ts typings/tsd.d.ts

  • इस होगा और करने के लिए फ़ाइलों और । हम आपूर्ति सही transpilation के लिए संदर्भ के रूप में फ़ाइल। transpilegulpfile.tsgulp-config.tsgulpfile.jsgulp-config.jstypings/tsd.d.ts
  • typescript नोड मॉड्यूल कई विकल्प को शामिल किया गया >> tsc -hनिर्दिष्ट करने के लिए उत्पादन निर्देशिका या फ़ाइल, आदि

उम्मीद है की यह मदद करेगा।

23/05/2016 को 04:47
का स्रोत उपयोगकर्ता

वोट
0

SublimeText2 ट्रिक आप SublimeText2 (आप नोड की जरूरत है) से सीधे जावास्क्रिप्ट को टाइपप्रति transpile कर सकते हैं:

एक बनाएं Typescript.sublime-buildमें फ़ाइल /Sublime Text 2/Packages/Userइस सामग्री के साथ:

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

तो, अब, आप अपने कोड Ctrl + B या cmd + B साथ transpile कर सकते हैं

02/10/2012 को 07:46
का स्रोत उपयोगकर्ता

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