क्लाइंट साइड कोड के लिए , आप सही काम कर रहे हैं। babelify
यह और यह ग्राहक के लिए जहाज।
सर्वर साइड कोड के लिए , मैं बैबिल-क्ली का उपयोग करके एक नियमित निर्माण करूंगा
के अनुसार http://babeljs.io/docs/setup/#babel_register , babel-register
है उत्पादन प्रयोग के लिए नहीं - की आवश्यकता होती है हुक मुख्य रूप से साधारण मामलों के लिए सिफारिश की है।
बैबल 6+ के लिए
बैबल 6 के रूप में, कोई परिवर्तन डिफ़ॉल्ट रूप से शामिल नहीं है। तो चलो की स्थापना के द्वारा शुरू करते हैं babel-cli
और babel-preset-es2015
।
$ npm install --save-dev babel-cli babel-preset-es2015
अपनी .babelrc
फ़ाइल में एक परिवर्तन जोड़ें - यह वह प्रतिमान मॉड्यूल है जिसे हमने ऊपर डाउनलोड किया है। प्रीसेट की पूरी सूची पर एक नज़र डालें कि कौन सा आपके लिए सबसे अच्छा है।
{
"presets": ["es2015"]
}
build
अपने लिए एक स्क्रिप्ट जोड़ें package.json
। नीचे src
आपकी इनपुट फ़ाइलें हैं और build
परिवर्तित आउटपुट फ़ाइलें हैं
"scripts": {
"build": "babel src -d build"
}
फिर इसका निर्माण करें!
$ npm run build
फिर अपना कोड रन करें। इस बिंदु पर, आप अपनी build
निर्देशिका में फ़ाइलों को निष्पादित करना चाहते हैं
$ npm start
बैबल <= 5 के लिए, बस आवश्यकता हुक का उपयोग करें।
require("babel/register");
एक्सटेंशन के साथ नोड द्वारा आवश्यक सभी बाद की फाइलें .es6 , .es , .jsx और .js बबेल द्वारा बदल दी जाएंगी। Polyfill भी स्वतः ही आवश्यक है।
आप अपने स्रोत फ़ाइलों को ES6 में रख पाएंगे, लेकिन फिर भी उनका उपयोग करके निष्पादित कर सकते हैं node server.js
आपकी टिप्पणियों के अनुसार, आपको थोड़ी परेशानी हो रही है। ऊपर दिए गए पीले उजागर भाग पर विशेष ध्यान दें। आपकी पहली फ़ाइल केवल ES5 हो सकती है, जो नोड द्वारा ही चलाई जाती है। सभी बाद की आवश्यकता है बबेल द्वारा बदल दी जाएंगी ...
यहाँ एक विशिष्ट सेटअप कैसा दिख सकता है
server.js
require("babel/register");
var app = require("./app.js");
app.js
आग लगाओ!
$ node server.js
require("babel/register");
अपने सर्वर में डाल रहा हूं। जेएस और जब मैं चलाऊंगा तो मुझेnode server.js
त्रुटि मिलेगी:Unexpected reserved word: import ...
इसलिए यह काम नहीं कर रहा था