vuex中的babel編譯mapGetters/mapActions報錯解決方法

…三個點,在框架語言裏,就是傳對象

在嚐鮮vuex2時,發現vuex2增加了 mapGetters 和 mapActions 的方法,藉助stage2的 Object Rest Operator 特性,可以寫出下面代碼:
methods: {
…mapActions([
‘increment’,
‘incrementIfOdd’
])
}
但是在藉助babel編譯轉換時發生了報錯: BabelLoaderError: SyntaxError: Unexpected token 。
解決方案

在vuex的repo issues中有人提過這樣的問題,後來是修改了eslint配置中對 Object Rest Operator 的支持解決了問題,然而我根本沒有使用eslint。
接着在babel的issues中搜索這樣的報錯,原來是我babel預置的轉換器是 babel-preset-es2015 ,並不能轉換 Object Rest Operator 特性。
解決方法很簡單了,可以安裝整個stage2的預置器或者安裝 Object Rest Operator 的babel插件 babel-plugin-transform-object-rest-spread 。
我選擇了安裝插件,接着在babel的配置文件 .babelrc 中應用插件:
babel: {
presets: [‘es2015’],
plugins: [‘transform-runtime’,’transform-object-rest-spread’]
}
重啓webpack,就不會再有報錯了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章