2017-07-11 23 views
6

मैं ES5 लक्षित करते हैं और उत्पादन कम करें को टाइपप्रति और उसके बाद बंद संकलित (उन्नत संकलन) का उपयोग करना चाहते।बंद संकलक + टाइपप्रति

मैं tsc के स्थान पर tsickle उपयोग करने के लिए है? यह समर्थन की कमी है के लिए सभी विकल्पों को tsc है, और में यह (जो नहीं 100% संगत कर रहे हैं) बंद प्रकार के टाइपप्रति प्रकार अनुवाद करने के लिए चाहता है कि अब तक महत्वाकांक्षी है। मुझे वास्तव में क्लोजर प्रकारों का उपयोग करने की आवश्यकता नहीं है; मुझे बस खनन/संपत्ति का नाम बदलने की जरूरत है।

मैं tsc उपयोग कर सकते हैं मॉड्यूल ES6 और उन (बिना प्रकार जाँच या प्रकार के आधार पर optimzations) कम करें को बंद संकलक का उपयोग करने के टाइपप्रति संकलित करने के लिए?

बोनस: इस उत्तर के परिवर्तन अगर मैं बंद लाइब्रेरी का उपयोग करना चाहते है?

+0

केवल एक कोणीय कोर देव इस प्रश्न का सही उत्तर दे सकता है। –

+0

@ चाडकिलिंग्सवर्थ, हालांकि यह एक कोणीय ऐप नहीं है। –

+0

मुझे पता है - लेकिन वे एकमात्र देव हैं जिन्हें मैं जानता हूं कि इस स्तर पर परिदृश्य को समझते हैं। टाइपस्क्रिप्ट कंपाइलर, tsickle और closure-compiler - यह एक सुंदर विशिष्ट ज्ञान सेट है। और यह एक बहुत ही मामूली सवाल है। –

उत्तर

4

तकनीकी रूप से, आप tsc से ES6 आउटपुट ले सकते हैं और इसे तुरंत क्लोजर कंपाइलर पर पाइप कर सकते हैं, क्योंकि बाद में जेएस को इनपुट के रूप में स्वीकार करने के लिए speced किया गया है। हम इसे पहले से ही कई स्थानों पर करते हैं, उदाहरण के लिए। क्लोजर कंपाइलर के साथ संकलित कोणीय ऐप्स आरएक्सजेएस लाइब्रेरी वितरण लेते हैं और इसे बंद बंडल में शामिल करते हैं। देखें https://github.com/angular/closure-demo

प्रैक्टिस में, क्लोजर इसे देखे जाने से पहले जेएस को बदलने के लिए हमें कुछ उदाहरणों का उपयोग करने के कुछ कारण मिलते हैं।

  • enums, फेंकना बंद में काम नहीं करता है (या रोलअप IIUC)
  • बंद ES6 के साथ कुछ सीमाएँ हैं, उदाहरण के लिए यह वर्तमान में समर्थन नहीं करता export * - tsickle फिर से लिखते हैं कि export {each, visible, symbol}
  • को जोड़ने जेएसडीओसी टिप्पणियां कोड की संरचना को समझने में मदद करती हैं जो अनुकूलन में सुधार कर सकती है और प्रिंटिंग की चेतावनियों की संख्या को कम कर देती है।

हमारी वर्तमान योजना कई टीएस 2.3 उत्सर्जन परिवर्तनों में सिकुड़ को विघटित करना है, तो हम अधिक स्पष्ट हो सकते हैं जो वास्तव में संकलक में सक्षम होने की आवश्यकता है।

जोड़ना प्रकार वैकल्पिक है। यदि आप tsickle टाइप किए गए मोड को बंद करते हैं, तो हम इसके बजाय {?} प्रिंट करेंगे। हालांकि, अगर आप कभी भी बंद जेएस कोड से टाइपस्क्रिप्ट के आउटपुट का उपयोग करना चाहते हैं, तो आप प्रकार को जानने के लिए क्लोजर टाइप-चेकर चाहते हैं।

यदि आप एक नए निर्माण उपकरण के लिए गेम हैं, तो हम किसी बिंदु पर https://github.com/bazelbuild/rules_typescript में बैज़ल टूलचेन में टिक्सेल का निर्माण करेंगे। इस बीच आप अधिक कमांड लाइन झंडे का समर्थन करने के लिए Tsickle के मुख्य के लिए एक सुविधा अनुरोध दर्ज कर सकते हैं। (लेकिन मुझे लगता है कि लुसीडचार्ट पहले से ही तिक्कल का कांटा रखता है?)

+0

हम करते हैं :) इसके अलावा, बेज़ल बहुत अच्छा लग रहा है, हालांकि हम इसका अभी तक उपयोग नहीं करते हैं। मैं रोडमैप का पालन कर रहा हूं क्योंकि इसकी पहली घोषणा की गई थी। –

संबंधित मुद्दे