ruby on rails - मैं Rails ऐप पर रूबी में ES6(ES2015) का उपयोग कैसे करूं?




ruby-on-rails ecmascript-6 (2)

मेरे पास 4.2 पटरियों का ऐप है और मैं धीरे-धीरे जेएस को ईएस 6 में परिवर्तित करने के बारे में सोच रहा हूं। अभी मैं एसेट पाइपलाइन से मानक रेल मैनिफ़ेस्ट फ़ाइल का इस्तेमाल कर रहा हूं ताकि मेरी जेएस प्री-प्रोसेस कर सकें।

मुझे यकीन नहीं है कि मेरे पटरियों एप में ईएस 6 का उपयोग करना शुरू करने के बारे में कैसे जाना चाहिए?

क्या कोई अंतर्निहित पद्धति है, या एक अनुशंसित उपकरण या वर्कफ़्लो है?


वर्तमान में दुर्भाग्य से ऐसा करने का वास्तव में एक 'मानक' तरीका नहीं है - यह बहुत आपके ऐप की आवश्यकताओं पर निर्भर करता है और यदि आप स्प्रॉक और / या रेल को अपग्रेड करने में सक्षम हैं।

विकल्प 1: रेल 4.2 और स्प्रॉकसेट 3 पर रहें, फिर इस मणि का उपयोग ES6 समर्थन जोड़ने के लिए करें और धीरे-धीरे ES6 मॉड्यूल में माइग्रेट करें: https://github.com/rmacklin/sprockets-bumble_d

विकल्प 2: स्प्रॉकसेट 4 (अभी भी बीटा में) में अपग्रेड करें, फिर बैबल को जोड़ने के लिए https://github.com/fnando/babel-schmooze-sprockets या https://github.com/babel/ruby-babel-transpiler का उपयोग करें ES6 समर्थन के लिए दोनों बहुत ठोस दस्तावेज़ हैं

विकल्प 3: स्पॉकेट्स के बजाय या साथ में वेबपैक का उपयोग करें एक Google खोज इसके लिए कुछ तरीकों का खुलासा करेगी। Rails 5.1 (अभी भी बीटा में) वेबपैकर रत्न के माध्यम से देशी वेबपैक (और इस प्रकार बैबल ) समर्थन का परिचय देगा यह मान्य है कि यह एक मौजूदा आवेदन के लिए अधिक कठिन विकल्प हो सकता है। इसके बारे में यहां एक अच्छा लेख है: https://medium.com/statuscode/introducing-webpacker-7136d66cddfb#.cb4sixyah


मैं अब एक रेल 4.2.x ऐप का निर्माण कर रहा हूं और प्रतिक्रिया-रेल स्थापित कर रहा हूं। यह सिर्फ --es6 और काम करता है जनरेटर के --es6 विकल्प के साथ --es6 फ़ाइलों को सिर्फ --es6 उत्पन्न करने लगता है। यह भी निर्भरता के रूप में babel-transpiler और यह ठीक काम करता है - कम से कम ES6 सुविधाओं के साथ मैंने अभी तक कोशिश की है। यह एक es6 एक्सटेंशन के साथ फाइल es6 है जो संभवत: बैबल ट्रांस्पिल (पूर्व post.es6.js ) को ट्रिगर करता है।





transpiler