簡體   English   中英

ESlint linting gulpfile.js

[英]ESlint linting gulpfile.js

嗨,我使用Atom和名為lint-eslint的插件來整理我的javascript代碼,它的確工作正常,但我的gulpfile.js上確實有一個令人討厭的整理錯誤

這是觸發掉毛錯誤的代碼,我正在使用ESlinter的airbnb .eslintrc配置文件。

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 src的早期返回流有關,是否還有其他方法可以將其返回,或者我如何糾正錯誤,我知道我可以忽略該文件,但我想知道是否還有另一種返回gulp.src()

由於函數僅返回一個值,因此可以省略花括號{}return語句,這使代碼更輕便且更易於閱讀。

涉及的規則是arrow-body-style ,它“在花鍵功能中強制使用花括號”

gulp.task('lint', () => 
  gulp.src(['**/*.js', '!node_modules/**', '!src/**'])
   .pipe(gulpif(args.verbose, gprint()))
   .pipe(eslint())
   .pipe(eslint.format())
   .pipe(eslint.failAfterError())
);

ES6箭頭功能可以返回不帶單詞“ return”的對象,如下所示:

let func = () => ({key: 'value'});
let a = func();   // and a will be an object {key: 'value'}

這是ES6標准。

eslint-airbnb樣式指南認為,如果箭頭功能除了返回對象外什么也不做,則不需要“返回”。 因此您的代碼可以像這樣:

gulp.task('lint', () => (
 gulp.src(['**/*.js', '!node_modules/**', '!src/**'])
  .pipe(gulpif(args.verbose, gprint()))
  .pipe(eslint())
  .pipe(eslint.format())
  .pipe(eslint.failAfterError())
));

查看更多:有關返回對象文字的https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM