我正在尝试让我的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网站上的设置页面上读了一些问题,但我无法使其正常运行。
谁能告诉我如何正确处理此问题?谢谢
这句法是未来的一个实验提出的语法,它不是一部分es2015
或者react
所以你需要启用它。
npm install --save-dev babel-plugin-transform-object-rest-spread
并添加
"plugins": ["transform-object-rest-spread"]
为.babelrc
在保留现有presets
。
或者:
npm install --save-dev babel-preset-stage-3
并stage-3
在您的预设中使用以启用所有第3阶段实验功能。
在进入第二种方法前,首先先介绍一下会用到 Browserify、Gulp、Babelify 三种前端开发常会用到的工具: Browserify 如同官网上说明的:Browserify lets you require('modules') in the browser by bundling up all of your dependencies.,Browserify 是一个可以让你在浏览器端也
问题内容: 我的代码: 但是当我执行 终端提示我 我的bash脚本有什么错误吗?谢谢! 问题答案: 您的 bash 脚本没有任何错误。但是您正在使用 sh 来执行它, sh的 语法不太广泛;) 因此,改为运行:)
问题内容: 我有时会从下面的行中得到。 添加括号后,就可以了。 请澄清我的行为。提前致谢。 问题答案: 永远不会为null,尽管有时是。 也就是说,等同于总是如此。
问题内容: 我正在尝试编写一种获取a的方法,以验证数字是否在点后有东西,如果有,则返回a ,如果没有则返回a 。 输出: 因此,我想要的一切都发生在method中,但没有发生在method中。这些方法似乎必须完成相同的工作。但是我做错了什么? 问题答案: 正如其他答案所指出的,此行为是因为三元表达式的两个可能结果都必须具有相同的类型。 因此,您要做的所有事情都可以使三元版本的工作方式与将强制转换为
在上,使用require ex调用所有库。 并生成一个包含jquery的bundle