Написание глоточного задания как труба - PullRequest
0 голосов
/ 01 июля 2018

Я довольно новичок в Node и глотке, который я пытаюсь выучить. В качестве эксперимента я пытаюсь написать небольшое задание, которое просто печатает на консоли содержимое потоков, которые он получает от метода gulp.src(). Итак, я реализовал это таким образом (закомментированный код работает и некомментированный код не работает). Что я делаю не так?

var gulp = require('gulp');
var through = require('through2');
var connect = require('gulp-connect');
var fs = require('fs');
var PATHS = {
    src : 'src/**/*.ts',
    html : 'src/**/*.html',
    css : 'src/**/*.css'
};

gulp.task('test', function() {
    // This is working !!!
    /*
     * fs.createReadStream('ex.txt').pipe(through(function(chunk, enc, callback) {
     * console.log("Text is: " + chunk.toString());
     *
     * this.push(chunk)
     *
     * callback() })).pipe(fs.createWriteStream('out.txt')).on('finish',
     * function() { console.log("Working"); })
     */
    // But this is not working, why !!!
    var writable = through.obj(function(chunk, enc, callback) {
        if (chunk.isStream()) {
            console.log("Chunk is stream ");
            console.log("Path is: " + chunk.path);
        } else if (chunk.isBuffer()) {
            console.log("Chunk is buffer ");
        } else {
            console.log("Chunk is something else then stream or buffer");
        }
        this.push(chunk);
        callback();
    });
    gulp.src('ex.txt').pipe(writable);
});

BTW - Как я могу сказать, какой тип объекта ' chunk ' и какие методы у меня есть для вызова этого объекта (где они документированы - я привык к документации по стилю Java) )

Это могут быть тривиальные вопросы для опытных пользователей Node.js и gulp, но у меня возникают проблемы с их пониманием. Если кто-нибудь может помочь мне пройти через эту кривую обучения, я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...