Zgodnie z tytułem próbuję przetestować niektóre moduły AMD napisane w ES6 JS, działające od nodejs.Jak testować harmonię/ES6/ECMAScript 6 JavaScript?
Najpierw próbowałem z Intern: nawet po włączeniu --harmony
w nodejs, skończyłem w obliczu łańcucha zależności Intern, gdzie nie byłem w stanie włączyć Harmony w np. Stambuł, esprima i inne (otworzyłem dla tego issue).
Potem przeniosłem się na mocha, a tutaj utknąłem ... dziwnie. Włączyłem Harmony zarówno dla nodejs i samego mokka, oto skrypt package.json
Test:
"test": "node --harmony node_modules\\mocha\\bin\\mocha tests --harmony --recursive"
że biegnę z wiersza poleceń jako npm test my_test_folder
. Mimo to niektóre konstrukcje ES6 (takie jak const
) mijają, ale potem dławi się przy przypisywaniu destrukturyzacji. Oto pierwsze linie wyjściowe:
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...]
Ja również sprawdzone tej SO thread i słyszał o transpilers,
ale ja naprawdę nie wiem, czy mogą pracować
i jestem teraz próbuje zrobić transpilers pracować w ta sprawa.
Każdy pomysł na rozwiązanie tego problemu bez uciekania się do zmiany wszystkich bitów ES6 rozłożonych w kodzie? TA.
Czy możesz korzystać z funkcji harmonii, gdy nie używasz Mocha? Jeśli nie działa, gdy nie używasz Mocha, nie będzie działać z Mocha. – Louis
Dobrze, chociaż kod jest częścią wtyczki Thunderbird, w której działają funkcje harmonii. Tutaj próbuję uruchomić testy z wiersza poleceń (węzeł), więc problemy wychodzą teraz. – superjos
Ponieważ nikt o tym nie wspomniał, sprawdź http://kangax.github.io/compat-table/es6/ –