Próbuję użyć nowej wersji Babel, a podczas próby użycia presetu babel es2015 wydaje się nie być w stanie zrozumieć funkcji strzałek?Babelify 6 z browserify i preset es2015 nie działa
Moja konfiguracja na wstępnym babel6 był następujący:
transform: [['babelify', {sourceMap: false, stage: 0, optional: 'runtime', ignore: ["*.min.js"]}]]
iz babel6
transform: [['babelify', {"presets": ["es2015"]}]]
który nie działa. Dlaczego to?
edit
dodanie "stage-0"
pozbył się komunikaty o błędach składni, ale nie zatykać mnie od bycia w stanie rozszerzyć coś z błędem: 'this' is not allowed before super()
kiedy mam rzeczywiście dostał super()
połączenia.
edit
Ustaw prostą aplikację testową z pewnym ES7 i próbował użyć babel-core wymagają hak, ten sam problem.
edycja
Ok więc zawężeniu go do etapu-0 działa inaczej babeljs 6 ^.
Oto co zauważyłem:
plik Run
require("babel-core/register")(
{
presets: ["es2015", "stage-0"]
}
);
require("./app.js");
Działa z:
class extendable {
constructor() {
console.log('extended')
}
}
class app extends extendable {
constructor() {
super();
this.method();
this.method2();
}
method() {
// arrow functions
setTimeout(() => {
console.log("works")
}, 1000)
}
/**
* arrow function method
*/
method2 =() => {
console.log('works')
}
}
new app();
Nie współpracuje z:
class extendable {
constructor() {
console.log('extended')
}
}
class app extends extendable {
constructor() {
super();
this.method();
this.method2();
}
method() {
// arrow functions
setTimeout(() => {
console.log("works")
}, 1000)
}
/**
* arrow function method
*/
method2 =() => {
// give an error: 'this' is not allowed before super()
this.state = "hello";
}
}
new app();
więc jestem trochę zdezorientowany. Czy to naprawdę niepoprawna składnia? Jak mogłem używać tego pre-babel6?
Jak przeprowadzasz przeglądanie/babelify? Jakie wersje modułów masz zainstalowane? – CodingWithSpike
Realizuję za pośrednictwem [modu-deps] (https://www.npmjs.com/package/module-deps), wszystko jest w najnowszej wersji. –