我的gulp-rev-all
任务有问题。每次我更改代码时,它都会生成一个新的修订文件,但将旧的保留在那里。
这是我的任务:
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
我似乎无法用新文件替换旧文件。有人能帮助我或为我指明实现这一目标的正确方向吗?
你需要用另一个插件删除你的文件,因为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(', '));
}
});
});