我可以使用具有多个来源和多个目的地的Gulp任务吗? [英] Can I use a Gulp task with multiple sources and multiple destinations?
本文介绍了我可以使用具有多个来源和多个目的地的Gulp任务吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的gulpfile.js中有以下内容:
var sass_paths = [
'./httpdocs- site1 / media / sass / ** / *。scss',
'./httpdocs-site2/media/sass/**/*.scss',
'./httpdocs-site3/media/ sass / ** / *。scss'
];
gulp.task('sass',function(){
return gulp.src(sass_paths)
.pipe(sass({errLogToConsole:true}))
.pipe(autoprefixer('last 4 version'))
.pipe(minifyCSS({keepBreaks:true}))
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest(???));
});
我想将我缩小的CSS文件输出到以下路径:
./ httpdocs-site1 / media / css
./httpdocs-site2/media/css
./httpdocs-site3/ media / css
我误解如何使用来源/目的地吗?编辑:更新输出路径到相应的网站目录。
解决方案
更新
遵循配方中的想法,并简单介绍一下您的示例,这可能是一个解决方案:
var gulp = require('gulp'),
path = require('path'),
merge = require('merge-stream');
var folders = ['httpdocs-site1','httpdocs-site2','httpdocs-site3'];
$ b $ gulp.task('default',function(){
var tasks = folders.map(function(element){
return gulp.src(element +'/media/sass/**/*.scss',{base:element +'/ media / sass'})
// ...其他步骤...
.pipe(gulp .dest(element +'/ media / css'));
});
return merge(tasks);
});
I have the following in my gulpfile.js:
var sass_paths = [
'./httpdocs-site1/media/sass/**/*.scss',
'./httpdocs-site2/media/sass/**/*.scss',
'./httpdocs-site3/media/sass/**/*.scss'
];
gulp.task('sass', function() {
return gulp.src(sass_paths)
.pipe(sass({errLogToConsole: true}))
.pipe(autoprefixer('last 4 version'))
.pipe(minifyCSS({keepBreaks:true}))
.pipe(rename({ suffix: '.min'}))
.pipe(gulp.dest(???));
});
I'm wanting to output my minified css files to the following paths:
./httpdocs-site1/media/css
./httpdocs-site2/media/css
./httpdocs-site3/media/css
Am I misunderstanding how to use sources/destinations? Or am I trying to accomplish too much in a single task?
Edit: Updated output paths to corresponding site directories.
解决方案
I guess that the running tasks per folder recipe may help.
Update
Following the ideas in the recipe, and oversimplifying your sample just to give the idea, this can be a solution:
var gulp = require('gulp'),
path = require('path'),
merge = require('merge-stream');
var folders = ['httpdocs-site1', 'httpdocs-site2', 'httpdocs-site3'];
gulp.task('default', function(){
var tasks = folders.map(function(element){
return gulp.src(element + '/media/sass/**/*.scss', {base: element + '/media/sass'})
// ... other steps ...
.pipe(gulp.dest(element + '/media/css'));
});
return merge(tasks);
});
这篇关于我可以使用具有多个来源和多个目的地的Gulp任务吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文