我试图让我的 Browserify/Babelify/Gulp 在我的项目中工作,但它不会采用传播运算符。
我从我的 gulpfile 中得到这个错误:
[SyntaxError: /Users/mboutin2/Desktop/Todo-tutorial/src/reducers/grocery-list-reducers.js: Unexpected token (16:8) while parsing file: /Users/mboutin2/Desktop/Todo-tutorial/src/reducers/grocery-list-reducers.js]
这是我的 gulpfile.js
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var sourcemaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
var buffer = require('vinyl-buffer');
var babelify = require('babelify');
gulp.task('build', function () {
  return browserify({entries: './src/client/app.js', extensions: ['.js'], debug: true})
    .transform(babelify, {presets: ['es2015', 'react']})
    .bundle()
    .on('error', function (err) {
      console.error(err);
      this.emit('end');
    })
    .pipe(source('app.min.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(uglify())
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./public/js'));
});
gulp.task('default', ['build']);
我试图创建一个 .babelrc 文件,但它做同样的事情。当我删除传播运算符时,我的脚本可以工作。
这是发生意外令牌的文件(很简单)。
import utils from '../utils/consts';
const initialState = {
  itemList: [
    {name: 'Apple', type: 'Fruit'},
    {name: 'Beef', type: 'Meat'}
  ]
};
export function groceryList(state = initialState, action = {}) {
  switch(action.type) {
    case utils.ACTIONS.ITEM_SUBMIT:
      return {
        ...state,
        itemList: [
          ...state.itemList,
          {name: action.name, type: action.itemType}
        ]
      };
    default:
      return state;
  }
}
我不知道什么不起作用,我在 Github 和 Babel 网站上的设置页面上阅读了一些问题,但我无法使其正常工作。
谁能告诉我如何正确处理这个问题?谢谢