0

ファイルを並べ替え、一部のテキストを置き換えて、変更されたものだけを保存しようとします。私の現在のコードgulp-changedでは何もしません。

const gulp = require('gulp');
const changed = require('gulp-changed');
const replace = require('gulp-replace');

gulp.task('text-replace', function(){

    var before = 'xxx';
    var after = 'yyy';

gulp.src('src/**/*')
    .pipe(replace(before, after))
    .pipe(changed('src'))
    .pipe(gulp.dest('dest'));
});

更新:gulp-cached私はこれを自分でほとんど解決しましたが、以下の私の回答に関連する小さな問題があります。

4

1 に答える 1

0

gulp-newerと gulp-changedによると、gulp-changed と gulp-newer はストリーム ファイルをディレクトリ内のファイルと比較せず、「src」ディレクトリ ファイルと「dest」ディレクトリ ファイルを比較し、それに従って何をすべきかを決定します。ストリーム ファイル。別の解決策があります:

const cache = require('gulp-cached');

gulp.src('src/**/*')
    .pipe(cache('just_cache_name'))
    .pipe(replace(before, after))
    .pipe(cache('just_cache_name'))
    .pipe(gulp.dest('dest'));
});

それでも、問題があります。ファイルが含まれているか空であるかに関係なく、srcディレクトリ構造が で完全に再作成されています。dest

于 2015-11-13T09:23:14.677 に答える