模块构建失败:SyntaxError:意外的令牌(已安装save-dev babel-plugin-transform-object-rest-spread插件)

时间:2017-02-13 20:49:41

标签: javascript reactjs webpack ecmascript-6

操作系统:Windows 10 Pro
NPM版本:3.8.6

因此,当我运行npm start时,应用运行正常。但是当我运行npm run build时,我收到以下错误消息:

λ npm run build

> learn-redux@1.0.0 build C:\Users\*****\Documents\Projects\learn-redux
> npm run clean && npm run build:webpack


> learn-redux@1.0.0 clean C:\Users\*****\Documents\Projects\learn-redux
> rimraf dist


> learn-redux@1.0.0 build:webpack C:\Users\*****\Documents\Projects\learn-redux
> set NODE_ENV=production && webpack --config webpack.config.prod.js

Hash: e7a3bc9c356b59e5b8fb
Version: webpack 1.14.0
Time: 30691ms
        Asset     Size  Chunks             Chunk Names
    bundle.js   710 kB       0  [emitted]  main
bundle.js.map  5.51 MB       0  [emitted]  main
   [0] multi main 28 bytes {0} [built]
    + 583 hidden modules

ERROR in ./client/reducers/comments.js
Module build failed: SyntaxError: C:/Users/*****/Documents/Projects/learn-redux/client/reducers/comments.js: Unexpected token (30:6)

  28 |     return {
  29 |       // Current state
> 30 |       ...state
     |       ^
  31 |     };

我的代码如下:

function comments(state = {}, action) {
  if (typeof action.postId !== 'undefined') {
    return {
      // Current state
      ...state
    };
  }

  return state;
}

我的webpack配置如下:

var path = require('path');
var webpack = require('webpack');

module.exports = {
  devtool: 'source-map',
  entry: [

    './client/reduxstagram'
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/static/'
  },
  plugins: [
    new webpack.optimize.OccurenceOrderPlugin(),
    new webpack.DefinePlugin({
      'process.env': {
        'NODE_ENV': "'production'"
      }
    }),
    new webpack.optimize.UglifyJsPlugin({
      compressor: {
        warnings: false
      }
    })
  ],
  module: {
    loaders: [
    // js
    {
      test: /\.js$/,
      loaders: ['babel'],
      include: path.join(__dirname, 'client')
    },
    // CSS
    { 
      test: /\.styl$/, 
      include: path.join(__dirname, 'client'),
      loader: 'style-loader!css-loader!stylus-loader'
    }
    ]
 }
};

我的.babelrc文件如下:

{
  "env": {
    "production": {
      "plugins": [
        "transform-object-rest-spread"
      ]
    }
  }
}

我该如何解决这个问题?

0 个答案:

没有答案