2014-10-10 9 views
5

शीर्षक के अनुसार, मैं ईएस 6 जेएस में लिखे गए कुछ एएमडी मॉड्यूल का परीक्षण करने की कोशिश कर रहा हूं, नोडजे से चल रहा है।सद्भाव/ES6/ECMAScript 6 जावास्क्रिप्ट का परीक्षण कैसे करें?

मैंने Intern के साथ पहली बार कोशिश की: नोडजेस में --harmony सक्षम करने के बाद भी, मैंने इंटरनेशनल की निर्भरता श्रृंखला का सामना करना समाप्त कर दिया, जहां मैं हर्मनी को सक्षम करने में सक्षम नहीं था। इस्तांबुल, esprima और अन्य (मैंने इसके लिए issue खोला)।

मैं फिर mocha पर चला गया, और यहां मैं अटक गया हूं ... अजीब। मैं सक्षम सद्भाव दोनों NodeJS और मोचा खुद के लिए, यहाँ package.json परीक्षण स्क्रिप्ट है:

"test": "node --harmony node_modules\\mocha\\bin\\mocha tests --harmony --recursive" 

कि मैं npm test my_test_folder के रूप में कमांड प्रॉम्प्ट से चलाते हैं। फिर भी, कुछ ES6 संरचनाएं (जैसे const) ठीक है, लेकिन फिर यह असाइनमेंट को नष्ट करने पर चोक करता है। यहाँ पहली उत्पादन लाइनें हैं:

const { log, dir } = require('../consoleLogger.js'); 
    ^
SyntaxError: Unexpected token { 
    at Module._compile (module.js:439:25) 
    at Object.Module._extensions..js (module.js:474:10) 
    [...continues...] 

मैं भी इस SO thread की जाँच की और transpilers, के बारे में सुना है, लेकिन मैं वास्तव में अगर वे काम कर सकता था पता नहीं है और अब मैं transpilers में काम करने के लिए कोशिश कर रहा हूँ ये मामला।

कोड में फैले सभी ES6 बिट्स को बदलने के बिना इसका समाधान करने के बारे में कोई विचार? प्रादेशिक सेना।

+0

क्या आप मोचा का उपयोग न करने पर किसी भी सद्भाव की सुविधाओं का उपयोग करने में सक्षम हैं? यदि आप मोचा का उपयोग नहीं कर रहे हैं तो यह काम नहीं करता है, यह मोचा के साथ काम नहीं करेगा। – Louis

+0

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

+0

चूंकि किसी ने इसका उल्लेख नहीं किया है, इसलिए http://kangax.github.io/compat-table/es6/ –

उत्तर

1

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

+0

फ़ीडबैक के लिए धन्यवाद। बहुत शुरुआत में मैंने बस मोचा (इसलिए * सादे * नोड के साथ) चलाने की कोशिश की और मुझे 'const' पर त्रुटि मिली। फिर मैंने नोड का आह्वान करते समय '- हार्मनी 'को सक्षम किया, और मैं अगले अंक पर आगे बढ़ गया। वैसे भी, मैं मोचा चलाने से पहले ईएस 5 में पारदर्शी होने की कोशिश कर रहा हूं। – superjos

4

मैं

npm install mocha-traceur 

mocha ./tests/* --compilers js:mocha-traceur 

उपयोग कर रहे हैं और यह एक आकर्षण की तरह काम कर रहा है!

+0

धन्यवाद, मैं कोशिश करता हूं कि जैसे ही मैं थंडरबर्ड विकास में गोता लगाने के लिए इतनी पागल हो जाऊंगा :) – superjos

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