2015-01-29 1 views
-1

У меня есть следующие (упрощенно) установленными в моем gulpfile:Глоток-ОНК не выводит ничего, когда используется в Глоток-часовой трубопровода

var gulp = require('gulp'); 
var jshint = require('gulp-jshint'); 
var jscs = require('gulp-jscs'); 
var watch = require('gulp-watch'); 

var paths = { 
     scripts: ['js/*.js'] 
    }  
var jscsRunner = jscs({ 
     disallowMixedSpacesAndTabs: true // etc 
    });  
var jshintRunner = jshint({ 
     browser: true // etc 
    }); 

// this outputs messages from jshint no problem 
gulp.task('jshint', function() { 
    return gulp.src(paths.scripts) 
    .pipe(jshintRunner) 
    .pipe(jshint.reporter('default')); 
}); 

// this outputs messages from jscs no problem 
gulp.task('jscs', function() { 
    return gulp.src(paths.scripts) 
    .pipe(jscsRunner); 
}); 

// this only outputs messages from jshint 
gulp.task('watch', function() { 
    return watch(paths.scripts) 
    .pipe(jscsRunner) 
    .pipe(jshintRunner) 
    .pipe(jshint.reporter('default')); 
}); 

Моя проблема - как указано - что в watch задача не выводится из jscs, хотя конвейер по существу точно такой же, как в задаче jscs, где он работает так, как ожидалось.

(Я бегу это на Windows).

EDIT: Эта проблема была воспроизведена и обсуждается здесь: https://github.com/jscs-dev/gulp-jscs/pull/66

+0

Какая версия для просмотра глотков вы используете? Существуют огромные различия между 2.x, 3.x и 4.x. –

+0

Я действительно удивляюсь, почему это было приостановлено. – Tomalak

+0

Я не уверен, но возможно ли это потому, что gulp-jsc теперь [поддерживает репортеров] (https://github.com/jscs-dev/gulp-jscs/pull/66), и способ его использования изменился (а также [документация] (https://github.com/jscs-dev/gulp-jscs#usage))? –

ответ

0

я был в состоянии принять ваш сценарий, очистить его немного, реорганизовать некоторые код, и я был в состоянии получить его для работы на моей машине:

var gulp = require('gulp'); 
var jshint = require('gulp-jshint'); 
var jscs = require('gulp-jscs'); 

var paths = { 
     scripts: ['js/*.js'] 
    }  

// this outputs messages from jshint no problem 
gulp.task('jshint', function() { 
    return gulp.src(paths.scripts) 
     .pipe(jshint({browser: true})) 
     .pipe(jshint.reporter('default')); 
}); 

// this outputs messages from jscs no problem 
gulp.task('jscs', function() { 
    return gulp.src(paths.scripts) 
    .pipe(jscs({ disallowMixedSpacesAndTabs: true })); 
}); 

// this only outputs messages from jshint 
gulp.task('watch', function() { 
    return gulp.watch(paths.scripts,['jscs','jshint']); 
}); 

пару вещей отметить:

  1. На сегодняшний день, насколько я знаю, часы теперь встроены в глоток, поэтому нет необходимости требовать часы с глотком. Я запускаю gulp версии 3.8.11 на моем компьютере, и вышеприведенный скрипт работал нормально, и у меня нет модуля с именем gulp-watch, установленного на моей машине. Поэтому я обновляюсь до последней версии gulp и удаляю требуемый gulp-watch из вашего скрипта и из вашего package.json.
  2. Если вы хотите, вы можете поместить свои параметры для jshint и jscs в отдельные файлы и включить путь к этим файлам в качестве параметра для jshint и jscs соответственно.
  3. Помимо рефакторинга, который я делал, код работал должным образом, поэтому я не уверен, что именно было неправильным в вашем коде, но поскольку я новичок в глотании, мне сложно размышлять о том, что может быть были ошибочны с звонками, связанными с цепочкой, которые вы делали в заявлении на часах.
+0

Также хотелось упомянуть, что я начал работать над сценарием, который очень похож на ваш, поэтому я смог реорганизовать ваш код для работы, так как он очень похож на мой скрипт. Я столкнулся с другой проблемой в моем скрипте, но вы можете использовать улучшения, которые у меня есть в моем скрипте, если вы выберете: http://stackoverflow.com/questions/30418131/issue-with-task- не-выполнение-при-использование-глотки-с-обкатка последовательности –

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