2015-09-09 5 views
2

У меня есть эта задача в моей gulpfile:Почему gulp-eslint не работает?

gulp.task('js', function() { 
return gulp.src('js/main.js') 
    .pipe(eslint({ 

    })) 
    .pipe(browserSync.stream()); 
}); 

Но когда я запускаю его, консоль ясно.

D:\workflow\training\js_learn\task_1>gulp js             
[19:40:51] Using gulpfile D:\workflow\training\js_learn\task_1\gulpfile.js      
[19:40:51] Starting 'js'...                 
[19:40:51] Finished 'js' after 302 ms               

Но я знаю, что есть ошибки в моем JS

+0

ли вам требуется eslint в файле задачи? –

+0

eslint = require ('gulp-eslint') ;? да, я это требовал. –

ответ

3

Вот задача, которую я использовать. Это работает хорошо. Возможно, ваша проблема связана с тем, что вы передаете пустой объект с параметрами eslint()?

var eslint = require('gulp-eslint'); 

return gulp 
    .src(config.path.js) 
    .pipe(eslint()) 
    .pipe(eslint.format()); 
+0

О, теперь это работает, но как я могу указать свои собственные настройки? Или вы можете поделиться своими настройками? –

+0

Я использую файл '.eslintrc'. eslint будет использовать этот файл автоматически, если он присутствует. Дополнительная информация и образец файла: [.eslintrc docs] (http://eslint.org/docs/user-guide/configuring.html#specifying-language-options). Ниже приведен пример используемого файла: [.eslintrc рабочий пример] (https://github.com/yannickcr/eslint-plugin-react/blob/master/.eslintrc) – grgdne

+0

Это помогает, спасибо! –

4

По умолчанию eslint не применяет никаких правил. Для быстрого решения попробуйте создать файл .eslintrc с помощью eslint, а затем настройте его по мере необходимости.

  1. npm install -g eslint // может потребоваться sudo для глобальной установки, но вы должны исправить
  2. eslint --init // ответить на вопросы

затем отредактировать файл .eslintrc по каким правилам вы должны (см http://eslint.org/docs/rules/)

0

У меня есть пара вопросов, просто используя eslint как на все файлы .. Но mainl y это просто МЕДЛЕННО!

Решение на мой взгляд?
Lint только поставил git-файлы, над которыми вы сейчас работали.

Я видел некоторые решения этого, но у всех из них была одна проблема: они все еще были слишком медленными!
Большинство из них пытались использовать статус GIT для каждого файла, чтобы увидеть, если мы должны нибудь вкусненькое или нет .. так что проблема была еще, что мы сделали некоторые операции над файлами, которые мы не работали на ..

Поэтому я попытался сделать именно это в нашем проекте, вот пример того, что я сделал: gulp-eslint-precommit.
Очень быстро, так как он выполняет только 1 операцию статуса git, а затем набирает только нужные файлы.

Он также использует Google's js style guide поэтому нет необходимости определять свои собственные правила .. Только то, что использует Google ..

Я надеюсь, что это помогает :-)

+0

Вы также можете использовать что-то вроде gulp-кеширования, которое будет только заливать файлы, которые вы изменили. –

+0

Исправьте меня, если я ошибаюсь, но gulp-cache требует, чтобы процесс продолжал работать в фоновом режиме, чтобы работать. Правильно? Если это так, то здесь это не очень хорошо, поскольку в основном потребность связана с фиксацией pre-commit, поэтому процесс будет умирать, а кеш-кеш не будет работать. –

+0

Да, я думаю. Вы будете использовать его на часах, чтобы вы могли активно набирать файлы, над которыми вы работаете, в отличие от определенных путей. –

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