2015-07-25 4 views
6

मेरे पास एक नोड ऐप है जो ES6 का उपयोग करता है। मैं पारदर्शी के लिए Babel का उपयोग कर रहा हूं। जहां तक ​​मैं समझता हूं कि गुलप जैसे बिल्ड सिस्टम का उपयोग उदाहरण के लिए करें या require hook का उपयोग करें। आवश्यकता हुक दृष्टिकोण मेरे लिए अपील कर लगता है के बाद से मैं ES6 में मेरे स्रोत फ़ाइलें रखने के लिए सक्षम हो जाएगा, लेकिन अभी भी कुछ निर्माण प्रणाली के उपयोग के बिना node server.js का उपयोग कर उन्हें निष्पादित करें।क्या मैं ईएस 6 के लिए उत्पादन में बेबेल आवश्यकता हुक का उपयोग कर सकता हूं?

यह अत्यंत उपयोगी लगता है के लिए विकसित कम से कम, अपने मुख्य चिंताओं उत्पादन में इस दृष्टिकोण का उपयोग के बारे में है।

  • क्या उपयोगकर्ता द्वारा अनुरोध किए जाने पर हर बार कोई दंड मारा जाता है?
  • यह वास्तव में कैसे काम करता है?

संदर्भ के लिए मैं इसे उपयोग कर रहा हूँ एक एक्सप्रेस अनुप्रयोग के साथ।

+1

Fwiw, "निर्माण प्रणाली" चल 'कोलाहल src/--out-निर्देशिका जिले /' के रूप में सरल हो सकता है। यह सभी फ़ाइलों को 'src /' में परिवर्तित करेगा और उन्हें 'dist/'में सहेज देगा। –

उत्तर

7

क्या उपयोगकर्ता द्वारा अनुरोध किए जाने पर हर बार कोई दंड मारा जाता है?

नहीं, इस अर्थ में नहीं कि उसे प्रत्येक अनुरोध पर कोड को फिर से पारदर्शी करना होगा।

इस वास्तव में किस प्रकार काम करता है?

require() के बाद के सभी कॉल की आवश्यकता होती है हुक मूल रूप से उच्च जैक, और करता है ES6-> ES5 transpiling कि मॉड्यूल निष्पादित किया जा रहा से पहले।

मैं कुछ समय के लिए उत्पादन में हुक की आवश्यकता है (मध्यम ट्रैफिक स्तर के साथ - मध्य-सैकड़ों रीक/सेक रेंज में चरम यातायात), और यह कभी भी कोई मुद्दा नहीं रहा है।

+0

तो मूल रूप से इसे पहली बार पारदर्शी करें और इसे कैश करें या ऐसा कुछ करें? –

+0

क्रमबद्ध करें (लेकिन वास्तव में नहीं)। मिश्रण में बेबेल के बिना भी, किसी दिए गए मॉड्यूल को केवल एक बार निष्पादित किया जाता है। जाहिर है कि अगर यह किसी फ़ंक्शन या किसी चीज़ को निर्यात करना था, तो उस फ़ंक्शन को कई बार निष्पादित किया जा सकता था, लेकिन मॉड्यूल को केवल उस समय एक ही समय में मूल्यांकन किया जाता है जब इसे पहली बार आवश्यक हो जाता है। मिश्रण में बेबेल पेश करना उस व्यवहार को नहीं बदलता है, यह केवल एक बार मूल्यांकन से पहले एक पारदर्शी प्रदर्शन करता है। – jmar777

+0

विस्तृत उत्तर –

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