2016-11-13 31 views
8

मैंने कोणीय के साथ वेबपैक 2 सेट किया है और ज्यादातर ऐसा लगता है। ऐसा प्रतीत नहीं होता है कि यह tree-shaking करता है, क्योंकि मेरे पास ऐसा ऐप है जो लगभग कुछ भी नहीं करता है, और vendor.js अभी भी 800+ केबी है।वेबपैक 2 और टाइपस्क्रिप्ट और कोणीय 2 के साथ पेड़-हिलाने का उपयोग कैसे करें?

ऐसा लगता है कि पेड़-हिलाने के तरीके पर बहुत कम जानकारी उपलब्ध है, लेकिन मुझे क्या समझ आया कि यह स्वचालित रूप से ES6 मॉड्यूल के लिए चालू है, लेकिन ES5 के लिए काम नहीं करता है। ऐसा क्या?

और सबसे महत्वपूर्ण बात यह है कि मैं वेबपैक 2 के साथ टाइपस्क्रिप्ट/कोणीय 2 पर पेड़-हिलाने को कैसे लागू कर सकता हूं?

+0

हां, यह सीजेएस मॉड्यूल के लिए काम नहीं करना चाहिए (कोई ES5 मॉड्यूल नहीं हैं), और यह ES6 मॉड्यूल के लिए होना चाहिए। चूंकि यह मुख्य रूप से एक वेबपैक प्रश्न है, इसलिए एक रेपो जो इस मुद्दे को दोहराता है, मदद करेगा। [पेड़-हिलाने वाले टीएस वर्गों के साथ समस्या हो सकती है] (https://github.com/mishoo/UglifyJS2/issues/1261)। – estus

+0

@estus अच्छी तरह से, शायद यह भी काम करता है, लेकिन मैंने उद्देश्य पर कुछ भी चालू नहीं किया। क्या यह जांचने का कोई आसान तरीका है कि यह काम करता है या नहीं? –

+0

कुछ जेयूएस आउटपुट में कुछ अप्रयुक्त वर्ग के अस्तित्व की जांच करें। – estus

उत्तर

4

मुझे यह बहुत अच्छा repository मिला है, उदाहरण के साथ यह कैसे करें।

जैसा कि वहां उल्लेख किया गया है और इस सवाल पर टिप्पणियों में, स्पष्ट रूप से बग हैं जो पेड़-हिलने से होने से रोकती हैं। ऐसा लगता है कि "target": "es5" के साथ अब करना वास्तव में संभव नहीं है।

हम es2015 का उपयोग कर सकते हैं, लेकिन फिर हमें ब्राउज़र को समर्थन देने तक es5 तक संकलित करने के लिए कुछ अतिरिक्त चरणों (जैसे बेबेल के माध्यम से) की आवश्यकता होगी।

+1

आपको 'es5' पर वापस जाने के लिए बेबेल की आवश्यकता क्यों होगी? AFAIK टाइपस्क्रिप्ट में कॉन्फ़िगरेशन में 'लक्ष्य' सेटिंग है जो इसे बताती है कि इसे किस संस्करण में पार किया जाएगा। – tftd

+0

यह करता है, लेकिन कम से कम लिखने के समय यह कोड उत्पन्न करता था जो पेड़ हिलाने के लिए पर्याप्त नहीं था। ज्यादा जानकारी याद न करें, और शायद यह अब भी बेहतर है। –

+0

उत्तर देने के लिए धन्यवाद! मैं वर्तमान में इसे काम करने के साथ संघर्ष कर रहा हूं। ऐसा लगता है कि यह काम करने के लिए यह एक बड़ा सिरदर्द है ... :) – tftd

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