Comment puis-je afficher les résultats de gulp sur la console?

Je veux mettre mes résultats de vérification orthographique sur la console plutôt que sur un fichier et je pense que cela devrait fonctionner, car si je comprends bien, gulp renvoie un stream.

Au lieu de cela, je reçois une erreur:

TypeError: Object # has no method 'read' 

Voici mon code

 gulp.task('spellcheck', function() { var patterns = [{ // Ssortingp tags from HTML pattern: /(]+)>)/ig, replacement: '' }]; var spellSuggestions = [{ pattern: / [^ ]+? \(suggestions:[Az, ']+\)/g, replacement: function(match) { return '<<>>'; } }]; var nonSuggestions = [{ pattern: /<<>>|([^\s]+[^<]+)/g, replacement: function(match) { if (match.indexOf('<') == 0) { return '\n' + match + '\n'; } return ''; } }]; var toConsole = gulp.src('./_site/**/*.html') .pipe(frep(patterns)) .pipe(spellcheck()) .pipe(frep((spellSuggestions))) .pipe(frep((nonSuggestions))); var b = toConsole.read(); console.log(b); }); 

Il n’y a pas de méthode de lecture sur un stream. Vous avez deux choix:

  1. Utilisez le stream de console actuel: process.stdout
  2. Utilisez l’ événement de données sur console.log.

Implémenté dans le code:

  gulp.task('spellcheck', function () { var patterns = [ { // Ssortingp tags from HTML pattern: /(<([^>]+)>)/ig, replacement: '' }]; var nonSuggestions = [ { pattern: /<<<.+>>>|([^\s]+[^<]+)/g, replacement: function(match) { if (match.indexOf('<')==0) { return '\n' + match +'\n'; } return ''; } }]; var a = gulp.src('./_site/**/*.html') .pipe(frep(patterns)) .pipe(spellcheck(({replacement: '<<<%s (suggestions: %s)>>>'}))) .pipe(frep(nonSuggestions)) ; a.on('data', function(chunk) { var contents = chunk.contents.toSsortingng().sortingm(); var bufLength = process.stdout.columns; var hr = '\n\n' + Array(bufLength).join("_") + '\n\n' if (contents.length > 1) { process.stdout.write(chunk.path + '\n' + contents + '\n'); process.stdout.write(chunk.path + hr); } }); });