javascript - gulp 可否路径替换可否不重命名?
本文介绍了javascript - gulp 可否路径替换可否不重命名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
需求:
将htm页面中css/index.css替换为"css/index.min.css";
现在的流程是,
concat;
autoprefixer;
clean-css;
rev生成rev-manifest.json;
revCollector根据4的结果替换页面并输出;
流程的结果是:
流程生效,但是index.css替换成了index-xxxx.css,这样明显每次生成的文件名都不一样,能不能变成indec.min.css或者index.min.css?1213这样的?我该使用什么插件?
解决方案
我是这么玩的:
var gulp = require('gulp');
var rev = require('gulp-rev');
var through = require('through2');
var modify = require('modify-filename');
gulp.task('default', function() {
return gulp.src('*.css')
.pipe(rev())
.pipe(through.obj(function(file, enc, cb) {
// write the NEW path
file.path = modify(file.revOrigPath, function(name, ext) {
return name + '.min' + ext + '?' + file.revHash;
});
// send it back to stream
cb(null, file);
}))
.pipe(gulp.dest('dist'))
.pipe(rev.manifest())
.pipe(gulp.dest('dist'));
});
原先的test.css
,经过处理后,会变成dist/test.min.css?8ba9b68ade
不知道是不是你想要的^^,而且我这也是重命名文件了。并不是在url后面加了
query
。其实你如果明白gulp-rev
是在干嘛,就能明白为什么通过她只能修改文件名了。说白了,这个阶段还没有触碰到html
,所以天晓得后续html
是如何引用资源的,更不会去修改html
里的引用,在后面加query
了。
这篇关于javascript - gulp 可否路径替换可否不重命名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文