gulp常用插件之rev-del使用
更多gulp常用插件使用请访问:gulp常用插件汇总
rev-del这是一款从模块(如gulp-rev
)生成的修订清单中删除旧的、未使用的指纹文件。
安装
一键安装不多解释
npm install --save-dev rev-del
使用
revDel({
oldManifest: 'rev-manifest.json',
newManifest: { /* 清单 */ },
suppress: true,
deleteMapExtensions: false
}, function (err, filesDeleted) {
// ...
});
清单可以是对象或文件路径。oldManifest
默认为“rev manifest.json
”(这是gulp-rev
的默认输出),而newManifest
没有默认值;它假定您已经将其存储在内存中,因此将其作为对象传递更有效。
如果设置为false
,则在ReVestPrime.JSON
不存在时会引发错误。通常情况下,您不想更改:通常,第一次运行修订脚本时,清单还不存在。
当设置为true
时,deleteMapExtensions
将尝试查找gulp-sourcemaps
生成的属于旧清单中已更改文件的任何“.map
”文件,并将其删除。
rev-del
可以与Gulp
和gulp-rev
一起使用。您需要dest
在选项或base
清单选项中指定-除非您将所有内容都写入根目录。
var gulp = require('gulp');
var rev = require('gulp-rev');
var revDel = require('rev-del');
gulp.task('default', function () {
return gulp.src('src/*.css')
.pipe(rev())
.pipe(gulp.dest('dist'))
.pipe(rev.manifest())
.pipe(revDel({ dest: 'dist' })) // <--
.pipe(gulp.dest('dist'));
});
如果不使用默认值,则可以为它传递旧清单的名称:
var gulp = require('gulp');
var rev = require('gulp-rev');
var revDel = require('rev-del');
gulp.task('default', function () {
return gulp.src('src/*.css')
.pipe(rev())
.pipe(gulp.dest('dist'))
.pipe(rev.manifest('my-manifest.json'))
.pipe(revDel('some-other-manifest.json')) // <--
.pipe(gulp.dest('dist'));
});
请注意,如果清单的名称与给定的路径不同,则仅需要更改清单的名称rev.manifest()
:如果仅更改清单的名称,则rev-del
会很好地处理它:
// This works
var gulp = require('gulp');
var rev = require('gulp-rev');
var revDel = require('rev-del');
gulp.task('default', function () {
return gulp.src('src/*.css')
.pipe(rev())
.pipe(gulp.dest('dist'))
.pipe(rev.manifest('my-manifest.json'))
.pipe(revDel({ dest: 'dist' })) // <--
.pipe(gulp.dest('dist'));
});
您也可以将指定base
为选项之一。同样,如果您已将其交给,则无需执行此操作rev.manifest()
!
您也可以添加force: true
作为选项。这将传递给底层的del
插件,该插件接受它以允许在当前工作目录之外进行删除。当您遇到诸如“无法删除当前工作目录之外的文件/文件夹”之类的错误时,这很有用。可以使用该force
选项覆盖。”
分类:
gulp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具