【发布时间】:2017-10-29 08:42:39
【问题描述】:
项目结构:
????发展
????公开的
????哈巴狗
???? 1sass
???? 2css
????管理员
????哈巴狗
???? 3sass
???? 4css
我在文件夹名称中添加数字以模仿 gulp 无法以某种方式猜测哪个输出文件夹相对于输入文件夹的情况。
现在,我想将public/1sass和admin/3sass中的.sass文件编译成.css,分别放到public/2css和admin/4css中:
????公共/1sass → ????公共/2css
????管理员/3sass → ????管理员/4css
我需要如何在gulpfile 中设置sass 任务?即使我们将路径数组放入gulp.src,gulp 将如何理解哪个输出路径与输入路径相关?
也许gulp.parallel() 在 gulp 4.x 中可用?
更新
两件事我还没有理解:
- 我应该如何设置
gulp.dest()中的多个输出路径? -
我了解到
file.dirname = path.dirname(file.dirname);删除了相对文件路径的最后一个父目录。但是我应该如何为每个1sass和3sass设置它?通过数组?const gulp = require('gulp'), sass = require('gulp-sass'), path = require('path'), rename = require('gulp-rename'); gulp.task('sass', function(){ return gulp.src([ `development/public/1sass/*.sass`, `development/public/3sass/*.sass`]) .pipe(sass()) // As I can suppose, here we must to setup output paths for each input one .pipe(rename(function(file){ file.dirname = path.dirname(file.dirname); })) .pipe(/* ??? */); });
【问题讨论】: