我的gulp-rev-all
任务出了问题。每次我更改代码时,它都会生成一个新的修订文件,但保留旧文件。
这是我的gulp任务:
var gulp = require('gulp');
var RevAll = require('gulp-rev-all');
gulp.task('js', function() {
var revAll = new RevAll();
return gulp.src(opt.Src + 'scripts.js')
// Add a hash to the file
.pipe(revAll.revision())
// Save the hashed css file
.pipe(gulp.dest(path.js))
// Write the manifest file
.pipe(revAll.manifestFile())
.pipe(gulp.dest(path.js + 'rev'));
});
所以,这就像一个魅力。
它会给我一个带有rev(例如:scripts.0ad8ecf1.js
)和manifest.json
文件的文件。
挑战是,每当我更改代码时,它都会生成一个带有不同哈希值的新scripts.js
文件,而不会覆盖或删除旧文件。所以,我的文件夹现在看起来像这样:
scripts.0ad8ecf1.js
scripts.7e3fa506.js
scripts.056ddda0.js
我似乎无法替换旧文件的旧文件。 任何人都可以帮助我或指出我正确的方向来实现这个目标吗?
答案 0 :(得分:1)
您需要使用其他插件删除您的文件,因为gulp-rev-all不会为您执行此操作。
例如,您可以使用'del'包(https://www.npmjs.com/package/del)
然后创建一个“删除任务”,如下所示:
var del = require('del');
/**
* Deletes all files inside the /foo/scripts/ folder
*/
gulp.task('purge:foo', function() {
return del.sync(['foo/scripts/**'], function (err, deletedFiles) {
if (err) {
console.log(err);
}
if (deletedFiles) {
console.log('Elements deleted:', deletedFiles.join(', '));
}
});
});