Static asset revisioning by appending content hash to filenames. Make sure to set the files to never expire for this to have an effect.
npm install --save-dev gulp gulp-rev gulp-rev-rewrite gulp-rev-delete-original
const gulp = require('gulp')
const rev = require('gulp-rev')
const revRewrite = require('gulp-rev-rewrite')
const revDelOriginal = require('gulp-rev-delete-original')
function revisionAssets() {
return gulp
// add assets you want to revision
.src(`dist/**/*.{css,js}`)
// append conent hash
.pipe(rev())
// delete original (unrevved) assets from "dist"
.pipe(revDelOriginal())
// add files that contain references to those assets
// now we have revved assets and HTML files in the stream
.pipe(gulp.src(`dist/**/*.html`))
// update references to the assets
.pipe(revRewrite())
// output revved assets along with HTML files with updated references
.pipe(gulp.dest('dist'))
}
exports.revisionAssets = revisionAssets