嗨,我使用名为lint-eslint的Atom和plugin来分析我的javascript代码,它确实工作得很好,但是我的gulpfile.js上有一个非常恼人的linting错误。
下面是触发链接错误的代码,我使用airbnb .eslintrc配置文件作为ESlinter。
gulp.task('lint', () => {
return gulp.src(['**/*.js', '!node_modules/**', '!src/**'])
.pipe(gulpif(args.verbose, gprint()))
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});注意,我正在尝试使用箭头语法。我得到以下错误意外块语句围绕箭头体。当我移除return时,它就消失了。
它与从gulp返回的早期流有关,是否有其他方法返回它,或者如何纠正我知道可以忽略该文件的错误,但我想知道是否还有其他方法返回gulp.src()
发布于 2016-06-03 16:22:02
ES6箭头函数可以返回一个没有单词“返回”的对象,如:
let func = () => ({key: 'value'});
let a = func(); // and a will be an object {key: 'value'}这是ES6标准。
埃林特-airbnb风格指南认为,如果您的箭头功能只返回一个对象,‘返回’将是不必要的。所以你的代码可以这样写:
gulp.task('lint', () => (
gulp.src(['**/*.js', '!node_modules/**', '!src/**'])
.pipe(gulpif(args.verbose, gprint()))
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError())
));请参阅更多信息:关于返回对象文本的函数。
发布于 2016-06-03 16:18:14
因为您的函数只是返回一个值,所以可以省略大括号{}和return语句,这使得代码更轻松、更容易阅读。
所涉及的规则是箭身式,它“强制在箭头函数中一致使用大括号”。
gulp.task('lint', () =>
gulp.src(['**/*.js', '!node_modules/**', '!src/**'])
.pipe(gulpif(args.verbose, gprint()))
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError())
);https://stackoverflow.com/questions/37619039
复制相似问题