ファイルの名前を変更し、html ファイル内のファイル参照を更新する gulp-rev lib[1] のフォークされたリポジトリを使用している javascript ファイルと css ファイルの両方があります。
残念ながら、2 つのタスク間に競合状態があり、md5 という名前のファイルへのスタイルシート参照または js ファイルのいずれかが優先されます。
タスクの同期を可能にするために、promise とコールバック (以下を参照) を使用しようとしましたが、css と js の両方の md5 参照が行われることはありません。
sindresorhusのlibはファイルの名前を変更するだけでリンクを修正しないので、htmlリンクを修正するより良い方法はありますか、それともフォークされたプラグインを使用していますか(私が欠けているいくつかの修正があります)?
gulp.task('rev', ['rev-js'] );
gulp.task('rev-js', ['rev-css'], function(cb) {
var context = rev.Context();
gulp.src(['./build/public/js/woddy.js', './build/public/js/angular.js', './build/public/js/components.js'])
.pipe(rev(context))
.pipe(gulp.dest('./build/public/js'));
gulp.src('./build/public/app.html')
.pipe(context.replace(/src="js\/(\w+\.js)"/g, 'src="js/{{$1}}"'))
.pipe(gulp.dest('./build/public'));
});
gulp.task('rev-css', function() {
var context = rev.Context();
gulp.src('./build/public/styles/woddy.css')
.pipe(rev(context))
.pipe(gulp.dest('./build/public/styles'));
gulp.src('./build/public/app.html')
.pipe(context.replace(/href="styles\/(\w+\.css)"/g, 'href="styles/{{$1}}"'))
.pipe(gulp.dest('./build/public'));
});