将已编译的sass写入文件

时间:2018-10-31 00:14:16

标签: javascript sass gulp gulp-sass

说我具有文件结构:

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/..

也可以复制到外面,我也尝试了许多其他方法,也都没有成功。

1 个答案:

答案 0 :(得分:1)

modify parent directories看到我的答案,是一个非常相似的问题。

因此无需测试:

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'));
});