为了账号安全,请及时绑定邮箱和手机立即绑定

gulp 可否路径替换可否不重命名?

gulp 可否路径替换可否不重命名?

紫衣仙女 2018-08-01 09:09:32
需求:将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这样的?我该使用什么插件?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

我是这么玩的:

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了。


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 731 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信