1

次のコードは rev-manifest.json ファイルを正しくマージしません。いくつかの JS タスクをループし、1 つだけがマージされますが、ハッシュ ファイルは正しく作成および保存されています。

私はすでにたくさんのことを試しました.gulp-revをチェックし、一部のユーザーが同様の問題を抱えていることを確認しました. それらの一部は、いくつかのマニフェスト ファイルを作成し、最後に実際のマージを続行します。遅くて醜いので、このソリューションを破棄したいと思います。

concat(...) 行にコメントを付けると、マニフェスト ファイルにすべての JS タスクが登録されます。

これはバグですか、それとも何か不足していますか?

gulp 3.9.1 gulp-concat 2.6.0 gulp-rev 7.0.0

var gulp = require('gulp');
var less = require('gulp-less');
var minifycss = require('gulp-minify-css');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var rev = require('gulp-rev');

var jsFiles = {
	task1: [
		'./path/file1.js'
	],
	task2: [
		'./path/file2.js',
    	'./path/file2.js'
	]
};


function jsTask(key) {
	gulp.task(key, function() {
		gulp.src(jsFiles[key])
			.pipe(jshint())
			.pipe(jshint.reporter('default'))
			.pipe(uglify())
			// IT WORKS WHEN I COMMENT THIS LINE
			.pipe(concat(key + '.min.js'))
			.pipe(rev())
			.pipe(gulp.dest('./public/js'))
			.pipe(rev.manifest({merge:true }))
        	.pipe(gulp.dest('.'));
	});
}


gulp.task('less', function() {
	return gulp.src(['./path/less/*.less'])
		.pipe(less({errLogToConsole: true}))
		.pipe(minifycss())
		.pipe(rev())
		.pipe(gulp.dest('./path/public/css'))
		.pipe(rev.manifest({merge:true }))
        .pipe(gulp.dest('.'));
});


for (var key in jsFiles) {
	jsTask(key);
}


var defaultTasks = ['less'];
for (var key in jsFiles) {
	defaultTasks.push(key);
}

gulp.task('default', defaultTasks);

4

2 に答える 2