gulp构建版本号在html失效

发布于 2022-09-11 17:25:16 字数 2777 浏览 23 评论 0

目前的问题是,html文件没有带版本号,rev json里面能看到

rev-manifest.json

{
  "cas.css": "cas.css?v=2ddef3cfbd"
}

rev-manifest.json

{
  "cas.js": "cas.js?v=a5a6013133"
}
'use strict';

var gulp = require('gulp');
var imagemin = require('gulp-imagemin');           // 图片压缩
var uglify = require("gulp-uglify");               // js压缩
var babel = require("gulp-babel");                 // babel
var minifyCss = require("gulp-minify-css");        // css文件压缩
var minifyHtml = require("gulp-minify-html");      // html文件压缩
var htmlreplace = require("gulp-html-replace");    // html引入文件替换
var rev = require("gulp-rev");                     // gulp加版本号
var revCollector = require("gulp-rev-collector");  // gulp加版本号

var clean = require('gulp-clean');


// cas-login js压缩
gulp.task('loginJsMin', async function () {
    await gulp.src('src/cas-login/cas.js')
        .pipe(babel())
        .pipe(uglify())
        .pipe(gulp.dest('dist/cas-login'))
});

// cas-login js复制
gulp.task('loginJsCopy', async function () {
    await gulp.src('src/cas-login/*.min.js')
        .pipe(gulp.dest('dist/cas-login'));
});

// cas-login css压缩
gulp.task('loginCssMin', async function () {
    await gulp.src('src/cas-login/*.css') // 要压缩的css文件
        .pipe(minifyCss()) //压缩css
        .pipe(gulp.dest('dist/cas-login'))
});

// cas-login html压缩
gulp.task('loginHtmlMin', async function () {
    await gulp.src('src/cas-login/*.html') // 要压缩的html文件
        .pipe(minifyHtml()) //压缩
        .pipe(gulp.dest('dist/cas-login'));
});


// cas-login 图片压缩
gulp.task('loginImagesMin', async function () {
    await gulp.src('src/cas-login/images/*')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/cas-login/images'));
});

// cas-login js hash
gulp.task('loginJsHash', async function () {
    await gulp.src('dist/cas-login/cas.js')
        .pipe(rev())
        .pipe(rev.manifest())
        .pipe(gulp.dest('rev/cas-login/js'));
});

// cas-login css hash
gulp.task('loginCssHash', async function () {
    await gulp.src('dist/cas-login/*.css') // 要压缩的css文件
        .pipe(rev())
        .pipe(rev.manifest())
        .pipe(gulp.dest('rev/cas-login/css'));
});

gulp.task('loginRev', function() {
    return gulp.src(['rev/cas-login/**/*.json', 'dist/cas-login/*.html'])
        .pipe(revCollector({
            replaceReved: true    //允许替换, 已经被替换过的文件
        }))
        .pipe(gulp.dest('dist/cas-login'));
});

// Build cas-login
gulp.task('login-build',
    gulp.series('loginJsMin', 'loginJsCopy', 'loginCssMin', 'loginImagesMin','loginHtmlMin', 'loginJsHash', 'loginCssHash', 'loginRev', done => {
    done();
}));

想解决的是 css,js改动之后每次gulp之后,都能在html生成最近的版本号带上

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ヤ经典坏疍 2022-09-18 17:25:16

装个插件,gulp build 时动态替换版本号

var strReplace = require('gulp-string-replace');

gulp.task('replaceVersion', function () {
    var version = new Date().getTime();
    
    gulp.src(['./*.js']).pipe(strReplace(/\d{13}/g, version)).pipe(gulp.dest('./js/'));
    gulp.src(['./*.html']).pipe(strReplace(/\d{13}/g, version)).pipe(gulp.dest('../'));
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文