2016-03-21 2 views
0

Похоже, мой .eslintrc файл не найден мой gulp-eslintГлоток eslint не находит мой файл .eslintrc

Я определил lint задачу:

gulp.task('lint', function() { 
    gulp.src(['src/**/*.js', 'src/**/*.jsx']) 
    .pipe(eslint()) 
    .pipe(eslint.format()); 
}) 

Он работает, но не показывает какую-либо ошибку ,

My .eslintrc файл указан в src папке. Я попытался переместить его в корневую папку моего проекта, но ничего не изменил.

Это довольно простой файл:

{ 
    "parser": "babel-eslint", 
    "ecmaFeatures": { 
    "classes": true, 
    "jsx": true 
    }, 
    "plugins": [ 
    "react" 
    ], 

    "extends": "eslint-config-airbnb" 
} 

Когда я бегу eslint src в терминале, я получаю кучу ошибок eslint, который прекрасно.

Любая идея, что не работает должным образом?

+0

Вы должны поймать ошибки в глотке. – Neal

ответ

1

В соответствии с docs вам необходимо сбой при ошибке в трубе.

gulp.task('lint', function() { 
    // ESLint ignores files with "node_modules" paths. 
    // So, it's best to have gulp ignore the directory as well. 
    // Also, Be sure to return the stream from the task; 
    // Otherwise, the task may end before the stream has finished. 
    return gulp.src(['**/*.js','!node_modules/**']) 
     // eslint() attaches the lint output to the "eslint" property 
     // of the file object so it can be used by other modules. 
     .pipe(eslint()) 
     // eslint.format() outputs the lint results to the console. 
     // Alternatively use eslint.formatEach() (see Docs). 
     .pipe(eslint.format()) 
     // To have the process exit with an error code (1) on 
     // lint error, return the stream and pipe to failAfterError last. 
     .pipe(eslint.failAfterError()); 
}); 
0

Просто хедз-ап, то documentation является чрезвычайно полезным и сжато по использованию конфигурационных файлов, их приоритет использования и как они расположены. Вы также можете добавить путь, чтобы указать местоположение файла конфигурации для конкретной трубы:

gulp.task('lint', function() { 
    gulp.src(['src/**/*.js', 'src/**/*.jsx']) 
    .pipe(eslint({ configFile: '.eslintrc'})) 
    .pipe(eslint.format()) 
    .pipe(eslint.failAfterError()) 
}) 

В Глоток-eslint documentation следует отметить, что использование в failOnError() и failAfterError() методы целесообразно в том, что задача/поток остановлена, и, следовательно, на выходе нет недействительного кода.

Если вы не используете ни одну из них, ошибка по-прежнему улавливается, но отображается только на выходе консоли. Поэтому в зависимости от потока задач и дизайна файл назначения все равно может быть записан, но вы можете легко исправить ошибку немедленно и продолжить, не перезагружая свою работу по обработке/просмотру труб. Альтернативой является просмотр gulp-plumber или некоторые другие способы, с помощью которых вы не выходите из задачи проверки gulp, но также не записываете файл, содержащий код, который не пропускает проверку на листинг.

Смежные вопросы