如何在Visual Studio代码中启用对传播运算符功能的支持?

时间:2016-08-12 19:45:33

标签: javascript webpack ecmascript-6 visual-studio-code spread-syntax

我在Visual Studio Code 1.4.0中运行了.js文件

但是当我这样做时

var test = state.selectedStorage.storageItems.map(i => {
          if(i.id != action.payload) return i;
          return {
              ...i,
              qty: i.qty - 1
          }
      });

我得到3点下的下划线(预期的属性分配)。当我尝试npm start时,我得到了

 Unexpected token (134:18) 

这是我的webpack.config.js

module.exports = {
  devtool: 'inline-source-map',
  entry: "./app/index.js",
  output: {
    path: __dirname + '/dist',
    filename: "bundle.js"
  },
  devServer: {
    contentBase: "./app",
    inline: true,
    port: 3333
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: ['es2015', 'react']
        }
      },
      {
        test: /\.scss$/,
        loaders: ['style', 'css', 'sass']
      },
      {
        test: /\.woff($|\?)|\.woff2($|\?)|\.ttf($|\?)|\.eot($|\?)|\.svg($|\?)/,
        loader: 'url-loader'
      }
    ]
  },
   externals: {
    jquery: 'jQuery'
  },
} 

2 个答案:

答案 0 :(得分:1)

Object rest/spread operator 是ES2015的一部分。然而,babel使用required plugin支持它。

答案 1 :(得分:1)

从Visual Code Studio doc页面(在常见问题中,关于React Native的那个):

  

React Native示例通常使用实验性Object Rest / Spread运算符。 VS Code尚不支持此功能。如果要使用它,建议您禁用内置语法检查(参见下文)。

来源:https://code.visualstudio.com/docs/languages/javascript