如何在Gulp任务中为多个pipe道创build外观
我在我的gulpfile.js中有以下任务:
gulp.task('css', function() { return gulp.src('theme.scss') .pipe(...) .pipe(...) .pipe(...) .pipe(...) .pipe(...) .pipe(...) .pipe(gulp.dest('dist')); });
我想将所有这些pipe道移动到一个模块,以获得类似的东西:
gulp.task('css', function() { return gulp.src('theme.scss') .pipe(theme()) .pipe(gulp.dest('dist')); });
可能吗?
我用lazypipe做了,我的单独的模块已经以这种方式实现:
module.exports = function () { var pipes = lazypipe() .pipe(...) .pipe(...) .pipe(...) .pipe(...) .pipe(...) .pipe(...); return pipes(); };
我想象的最简单的方法是这样的:
function theme(stream) { return stream.pipe(less()) .pipe(minify()) .pipe(prefix()) } gulp.task('less', function() { return theme(gulp.src('theme.less')) .pipe(gulp.dest('public')); })
(用LESS完成,b / c gulp-ruby-sass现在有了一些新的界面)。 如果你想变得灵活一点,你可以在主题函数中尽可能多地调用:
function theme(stream) { return stream.pipe(minify()) .pipe(prefix()) } gulp.task('less', function() { return theme(gulp.src('theme.less').pipe(less())) .pipe(gulp.dest('public')); })
它不像你想要的那么漂亮,但是它没有太多额外的软件包。
- 使用gulp-compass时出现“spawn / usr / bin / compass ENOENT”
- gulp-webserver错误有时发生
- 有没有办法,我可以看到哪些文件是由吞咽手表处理?
- 仅在Gulp任务中的文件夹中的一部分文件上使用Browserify
- export NODE_ENV =生产不会改变gulpfile.js中的process.env.NODE_ENV
- 检测不需要的function(fdescribe,describe.only)作为Gulp任务
- Visual Studio任务运行器资源pipe理器扩展不能识别gulpfile.js
- 咕嘟声错误 – 错误:找不到模块'sigmund'
- MAC OS X上的npm,node-gyp和gulp问题Yosemite 10.10.5