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:
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); } }); });