gpt4 book ai didi

javascript - Browserify、Babel 6、Gulp - 传播运算符上出现意外标记

转载 作者:行者123 更新时间:2023-11-28 04:59:55 33 4
gpt4 key购买 nike

我正在尝试让我的 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 网站上的设置页面,但我无法使其正常工作。

谁能告诉我如何正确处理这个问题?谢谢

最佳答案

该语法是 future 的实验性建议语法,它不是 es2015react 的一部分,因此您需要启用它。

npm install --save-dev babel-plugin-transform-object-rest-spread

并添加

"plugins": ["transform-object-rest-spread"]

与现有的预设一起放入.babelrc

或者:

npm install --save-dev babel-preset-stage-3

并在预设中使用stage-3来启用所有stage-3实验功能。

关于javascript - Browserify、Babel 6、Gulp - 传播运算符上出现意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42213285/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com