如何在gulp.dest中使用来自gulp.src的源文件路径?

How to use source file's path from gulp.src in gulp.dest?

我想 运行 gulp sass 任务并获得这样的东西:

发件人:

/app
  /componentA
    fileA.scss
  /componentB
    fileB.scss
  /componentC
    fileC.scss
/dist
  /componentA
  /componentB
  /componentC

收件人:

/app
  /componentA
    fileA.scss
  /componentB
    fileB.scss
  /componentC
    fileC.scss
/dist
  /componentA
    fileA.css
  /componentB
    fileB.css
  /componentC
    fileC.css

没有将所有这些都放在一个文件夹中 "dist/css"。

我当前与 sass 相关的代码:

var target = {
    css: 'dist/css',
    sass: 'app/scss/*.scss'    
};

gulp.task('sass', function () {
  return gulp.src(target.sass)
   .pipe(plumber(function () {
            console.log('[sass]'.bold.magenta + ' Sass compiling error\n'.bold.red);
            this.emit('end');
        }))
    .pipe(changed(target.css))
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest(target.css));
});

我已经阅读了其他主题,但它们不符合我的问题。

这就像更改通配模式一样简单:

var target = {
    css: 'dist',
    sass: 'app/**/*.scss'
};

您可能应该阅读 GulpJS documentation and brush up on node-glob