代码之家  ›  专栏  ›  技术社区  ›  Ilja

吞咽dest与当前文件相同?

  •  0
  • Ilja  · 技术社区  · 8 年前

    我正在尝试用管道将编译后的.css文件传输到与其原始.scss文件相同的目录中

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

    我不知道该怎么大口大口地喝下去。dest与原始的.scss文件相同,因此我将此文件和.css文件放在同一文件夹中。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Think Big    4 年前

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

    var path = require('path');
    
    gulp
        .src('path/to/files')
        .pipe(YourOperation({...}))
        .pipe(gulp.dest(function(file) {
            return path.dirname(file.path); // <- is here
        }))
    ;
    
        2
  •  0
  •   rmjoia    8 年前

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

    例如,您可以为每个版本、阶段、UAT、产品指定不同的目标

    检查 gulp-dest 示例文档,如果您将任务与 gulp-yargs 例如,您可以设置不同的属性来处理目标、版本。。。

    例子:

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