Próbuję utworzyć klasę w mojej aplikacji node.js/express.node.js/ES6/tworzenie klasy: SyntaxError: nieoczekiwane zarezerwowane słowo
Działa w podstawowych js/tryb prototyp takich jak:
function MyClass() {
/* constructor code */
};
MyClass.prototype.myMethod = function() {
/* method code */
};
module.exports = MyClass;
Ale chcę zrobić używać tej klasy, konstruktor, rozciąga się ... słowa kluczowe.
mam spróbować:
class MyClass {
constructor() {
/* constructor code */
}
myMethod() {
/* method code */
}
}
Ale to nie działa, błąd jest:
class MyClass {
^^^^^
SyntaxError: Unexpected reserved word
Mój wiersz poleceń, aby uruchomić aplikację z wszystkich opcji Harmony:
node `node --v8-options | grep harmony | cut -d ' ' -f | xargs` my-app.js
Pomysł, aby poprawnie uruchomić moją aplikację, proszę?
Silnik wyszukiwarki Google V8, na którym zbudowany jest węzeł [jeszcze nie udostępnił wsparcia] (https://kangax.github.io/compat-table/es6/# class) dla klas ES6. Ogólnie rzecz biorąc, obsługa funkcji ES6 nie powinna być zakładana, ponieważ [standard wciąż znajduje się w "projekcie".] (Http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts) (Nota boczna: 'węzeł --harmony' umożliwi dostęp do wszystkich dostępnych opcji Harmony.) –
Rozwiązałeś to, ponieważ mam ten sam błąd? –
Tak, wszystko jest w poprzednim komentarzu. Nie możesz użyć wszystkich funkcji ES6 na chwilę. – ceadreak