Sto sperimentando l'utilizzo di gulpjs anziché di grunt per un progetto. Sto tentando di utilizzare il filtro gulp per ignorare le librerie dei fornitori durante l'esecuzione di jsHint sul mio codice. Ho basato il mio codice fuori dal codice dell'esempio del readme, ma i file non sono stati filtrati.gulp-filter che non filtra correttamente i file esclusi
Io corro nodo 0.10.26, gulp 3.8.0, e il filtro gulp 0.4.1
Sto cercando di eseguire jshint su una directory wcui/app/js
che contiene molte altre directory di file JS, con circa 120 file js totali. Voglio escludere solo la directory del fornitore.
Il mio codice è simile al seguente:
var gulp = require('gulp');
var gulpFilter = require('gulp-filter');
var jshint = require('gulp-jshint');
var srcs = {
scripts: ['wcui/app/js/**/*.js'],
styles: ['wcui/app/css/**/*.less','wcui/app/css/**/*.css']
};
var dests = {
scripts: 'wcui/static/js/',
styles: 'wcui/static/css/'
};
gulp.task('scripts', function() {
var filter = gulpFilter('!wcui/app/js/vendor');
return gulp.src(srcs.scripts)
.pipe(filter)
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(filter.restore)
.pipe(gulp.dest(dests.scripts));
});
gulp.task('styles', function() {
return gulp.src(srcs.styles)
.pipe(gulp.dest(dests.styles));
});
gulp.task('dev',['scripts','styles']);
In questo momento l'esecuzione gulp dev
fa la stessa cosa ha fatto prima ho aggiunto il filtro, rilascio di fibre ogni file js. Come posso cambiarlo per farlo filtrare correttamente? L'esempio di gulp aveva src nel formato 'wcui/app/js/*. Js', ma quando ammetto il **
glob, non ottengo affatto le sottodirectory. Oltre a questo, penso di seguire il readme alla lettera (con modifiche per il mio particolare compito).
Non dovrebbe '.pipe (filter.restore)' 'essere .pipe (filter.restore ()) '? – MildlySerious
In risposta a @MildlySerious - e a Ben che ha cambiato in base alla sua raccomandazione - la risposta è no. Dovrebbe essere '.pipe (filter.restore)' - genera un errore altrimenti. – user1167442