gulp.dest 与当前文件相同?

gulp.dest to be same as the current file?

我正在尝试将编译后的 .css 文件传输到与其原始 .scss one

相同的目录
gulp.task('sass', function() {
  return gulp.src([
    appDir + '/*.scss',
    appDir + '/**/*.scss'
  ])
  .pipe(sass())
  .pipe(gulp.dest(..));
});

我不知道如何将 gulp.dest 设置为与原始 .scss 文件相同,所以我将此文件和 .css 文件放在同一个文件中文件夹。

不,您可以将目的地设置为您想要的任何位置。

例如,您可以为每个版本、Staging、UAT、Prod 设置不同的目的地

检查 gulp-dest documentation for examples, if you combine your task with gulp-yargs 例如,您可以设置不同的属性来处理目的地、版本...

示例:

gulp.task('scss', function () {
    var appDir = './public/css';
    return gulp.src([
        appDir + '/*.scss',
        appDir + '/**/*.scss'
    ])
    .pipe(sass())
    .pipe(gulp.dest('./build/css/'));
});

您可以使用自定义函数并为每个文件设置自己的路径。

var path = require('path');

gulp
    .src('path/to/files')
    .pipe(YourOperation({...}))
    .pipe(gulp.dest(function(file) {
        return path.dirname(file.path); // <- is here
    }))
;