babel 最新的 stage-0 都装了,还是无法支持...rest parameters 的语法

2017-04-11 18:16:35 +08:00
 gap

想用最新的...rest parameters 的语法,都说 stage-2 就能支持,但从 3 一直试上来,都装到 0 了还是不行啊,报错 Parsing error: Unexpected token ..

  methods: {
    ...mapActions([
      'updateUser'
    ]),

babelrc 配置也精简到最低了

{
  "presets": [
    "es2015",
    "stage-0"
  ]
}
2253 次点击
所在节点    Vue.js
8 条回复
xinnix
2017-04-11 19:02:42 +08:00
不知阁下 webpack 里 loader 配置正确没,另外应该是 stage-2 支持
pathen
2017-04-11 21:15:57 +08:00
如果 babel 的 config 没有配错,一般是 Webpack 配置写的有问题
gap
2017-04-11 21:55:09 +08:00
@xinnix
@pathen

我的 webpack loader 也很简单,请问是漏掉了什么吗?
loaders: [
{ test: /\.js$/, exclude: [ /node_modules/ ], loader: 'babel'}]
adspe
2017-04-11 22:05:17 +08:00
试试

```
rules: [
{ test: /\.(js|jsx)$/, use: 'babel-loader', exclude: /node_modules/ },
],
```

我是这样配的
ferrum
2017-04-11 22:11:11 +08:00
我有个 Vue.js 2.0 的项目也是这样,很奇怪,配置怎么搞都不支持这个运算符,最后还是老老实实地用回原来的。

不过楼主可以试试在.js 文件内看看这个运算符是否支持,而不是在.vue 文件内。
gap
2017-04-11 22:32:23 +08:00
@adspe 还是不行,简直太奇怪了
gap
2017-04-12 08:41:31 +08:00
@ferrum 请问你最后用的是怎样的写法呢?都通过 this.$store 去取 getter 和 action 吗?
ferrum
2017-04-12 10:28:04 +08:00
这个叫 object spread operator (对象展开作用符),算是一种语法糖,就不用这种语法糖呗。

比如原来写成
`
methods: {
...mapActions([
'increment',
}
`
这样的,现在写成这样的:
`
methods: {
increment: mapActions(['increment'])['increment']
}

`
我知道这样看起来很蠢,还不如直接$store.dispatch ……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354154

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX