我試圖使用新的babel版本,並嘗試使用es2015預設babel似乎不能夠了解箭頭功能?babelyify 6與browserify和es2015預設不起作用
我上預安裝babel6如下:
transform: [['babelify', {sourceMap: false, stage: 0, optional: 'runtime', ignore: ["*.min.js"]}]]
與babel6
transform: [['babelify', {"presets": ["es2015"]}]]
不工作。爲什麼是這樣?
編輯
加入"stage-0"
擺脫了語法錯誤消息,但採空我從能夠與錯誤擴展什麼:'this' is not allowed before super()
時,我有INFACT得到了super()
電話。
編輯
設置一個簡單的測試應用程序與一些ES7並試圖用巴貝爾核心要求掛鉤,同樣的問題。
編輯
好了,所以我已經把範圍縮小到0級在babeljs 6個工作不同的^。
以下是我已經注意到:
運行文件
require("babel-core/register")(
{
presets: ["es2015", "stage-0"]
}
);
require("./app.js");
作品有:
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();
所以我:
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();
不一起工作有點困惑。這真的是不正確的語法?我怎麼能夠使用這個pre-babel6?
您是如何執行browserify/babelify的?你安裝了哪些版本的模塊? – CodingWithSpike
我正在通過[module-deps](https://www.npmjs.com/package/module-deps)執行,所有內容都處於最新版本。 –