2015-11-19 35 views
2

我正在首次設置JSPM/Babel,並試用了一些ES6功能。使用Babel和JSPM啓用ES2015默認參數

看來只有某些功能使用默認的工作變換,所以我試圖使ES2015預設,同時使用的package.json和.babelrc文件,如下圖所示:

"presets": ["es2015"] 

這沒有按」似乎沒有任何作用。

我試圖默認參數添加到一個函數,所以希望與

exports.width = function(x = width) { 
    width = x; 
    return this; 
}; 

替換下列功能

exports.width = function(x) { 
    if (!arguments.length) return width; 
    width = x; 
    return this; 
}; 

但我不斷收到一個Uncaught SyntaxError: Unexpected token =錯誤。

我已經安裝了預設npm install babel-preset-es2015 --save-dev,以及試圖安裝單個插件,但沒有骰子。

+0

這適用於我使用babel'6.2.0'。你可以驗證你的babel版本並嘗試'babel filename.js --presets es2015'? –

+0

是的,它的5.8.34,和babel命令工作正常。我用更多的挖掘來回答我自己的問題,見下文。謝謝! – amigolargo

+0

很高興你知道了。乾杯。 –

回答

1

啊,所以好像JSPM will only transpile ES6 modules,所以你需要傳遞一個標誌給任何非ES6模塊強制它進行傳輸,所以"format es6";在文件的頂部。

這是奇怪的,因爲它是transpiling lambda =>功能,但不是默認參數。