Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 1.07 KB

static-asset-revisioning.md

File metadata and controls

33 lines (28 loc) · 1.07 KB

Static asset revisioning

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