如何从乙烯基物体获取gulp流?

时间:2017-05-23 14:44:01

标签: javascript node.js build gulp

如何使用vinyl对象创建流,以便我可以在其上使用gulp.js插件?

乙烯基对象示例:

return file.pipe(css())...

lofihelsinki的评论(var file = getFoo(); return merge(gulp.src('*.css'), file) .pipe(concat('foobar.css')) .pipe(css(opts)) .pipe(gulp.dest('...')); )解决了第一个案例。

乙烯基对象和流的示例:

var file1 = getFoo();
var file2 = getBar();
return merge(file1, file2)      // (gulp-merge)
    .pipe(concat('foobar.css')) // (gulp-concat)
    .pipe(css(opts))
    .pipe(gulp.dest('...'));

两个乙烯基物的示例:

2016_31_3_03_01c_02
2016_31_3_04_01a_02
2016_31_3_05_01d_02

3 个答案:

答案 0 :(得分:0)

您可以使用 vinyl-source-stream 或等效的 (https://www.npmjs.com/package/gulp-streamify) 并添加新的 pipe 以转换为流。 您可以像 gulp-map

这样的 here 明确地做到这一点

答案 1 :(得分:-1)

文件本身是一个可用的对象

var file = getFoo();
return file
    .pipe(css(opts))
    .pipe(gulp.dest('...'));

答案 2 :(得分:-1)

对于两个流,请使用gulp-buffer

var buffer = require('gulp-buffer');

var file1 = getFoo();
var file2 = getBar();

return merge(file1, file2)      // (gulp-merge)
    .pipe(buffer())             // (gulp-buffer)
    .pipe(concat('foobar.css')) // (gulp-concat)
    .pipe(css(opts))
    .pipe(gulp.dest('...'));