non posso transpile questo piccolo pezzo di codice:'super' di funzione o di classe
class FooBar extends SomeParent {
constructor() {
super();
}
start() {
var foo = function() {
super.start(); // <-- Error: 'super' outside of function or class
};
}
}
L'errore gettato è 'super' outside of function or class
.
Tuttavia, lo stesso codice traspone bene in Babel REPL.
Sto transpiling utilizzando un programma Node.JS personalizzati utilizzando questo comando: informazioni
babel.transformFileSync(filename, { presets: [ 'es2015' ] });
Installazione:
$ npm ls --global --depth 0
/usr/lib
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
$ node -v
v0.10.40
Che cosa sto facendo di sbagliato? Non ho avuto problemi durante il transpiling usando Babel 5 ...
Potrebbe essere che il REPL usi babele 5 e stai usando babele 6? – Jivings
Usa una funzione freccia invece di una funzione regolare, che assicurerà che il 'super' provenga dall'ambito genitore. Non sono sicuro di quale implementazione sia corretta, ma vorrei * indovinare * Babel 6 in quanto non ha senso accedere a 'super' al di fuori della classe – CodingIntrigue
Per favore vedi [" Le domande dovrebbero includere "tag" nei loro titoli? "] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), dove il consenso è" no, non dovrebbero "! –