Ich habe einen Tag lang versucht, zwei Pipefunktionen zu schreiben, eine, die weniger Dateien kompiliert, und eine andere, die diese Dateien zusammenfasst. Ich möchte lernen, wie man transformierte Streams/Pipes für komplexere Plugins schreibt.Wie kann ich eine einfache Schluckfunktion schreiben?
Also ich möchte wissen, wie Daten aus einer anderen Leitung gelesen werden, und wie Sie diese Daten ändern und an die nächste Leitung senden. Das habe ich bisher:
gulp.src(sources)
.pipe(through.obj(function (chunk, enc, cb) {
var t = this;
// console.log("chunk", chunk.path);
fs.readFile(chunk.path, enc, function (err,data) {
if (err) { cb(err); }
less.render(data, {
filename : chunk.path,
sourceMap : {
sourceMapRootpath : true
}
})
.then(function (outputCss) {
// console.log("less result",outputCss);
t.push(chunk);// or this.push(outputCss) same result
cb();
});
});
}))
.pipe(through.obj(function (chunk, enc, cb) {
console.log("chunk", chunk.path); // not event getting called.
cb();
}))
Ich kann nicht die outputCSS für jede Datei in der zweiten Leitung erhalten. Wie kann ich es senden?
https://github.com/gulpjs/gulp/blob/master/docs/writing-a-plugin/dealing-with-streams.md könnte einigen Menschen helfen. – Shanimal