写入已编译的 sass 到文件的父目录

Write to compiled sass to parent directory of file

假设我有文件结构:

styles
    truly
        very
            deep
                afile.sass

所需的输出是

styles
    truly
        very
            afile.css
            deep
                afile.sass

到目前为止我尝试过的:

gulp.task('sass', function () {
    return gulp.src('./truly/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('truly'));
});

差不多,但是编译到同一个目录。

以下是我试过的gulp.dest()参数:

..

不输出任何内容,可能在根目录之外。

.

very 从根开始复制结构。

truly/..

也在外面复制,我试过很多其他的都没有成功。

一个非常相似的问题上查看我的回答。

所以没有测试:

const flatten = require('gulp-flatten');    

gulp.task('sass', function () {
  return gulp.src('truly/**/*.scss')
    .pipe(sass().on('error', sass.logError))

    // will strip off the last directory, 'deep' in your case
    .pipe(flatten({ subPath: [0, -1] }))

    .pipe(gulp.dest('truly'));
});