Append unique string or md5 hash to paths in html files to force refresh - remove users cache app.js -> app_8j3d7a4f.js
npm install gulp-uncachesrc or href attributes.
bash
$ npm install --save-dev gulp-uncache
`
##Effect
`html
Before:
After:
`
##Options
###append
Type String
default: time
> String to append or one from:
> time - append actual time stamp
> hash - append md5 hash of file (prevent unnecessary refreshing file) need correct srcDir & distDir
###rename
Type Boolean
default: false
> If set to true rename file otherwise append string as url query string
###srcDir
Type String
default: ./
> Path to dir with source files. (Used only when rename:true, or append:'hash')
###distDir
Type String
default: ./
> Path to dir where renamed files will be saved. (Used only when rename:true)
###template
Type String
default {{path}}{{name}}_{{append}}.{{extension}}
> Template for replace (Hogan.js). Available variables: path, name, append, extension
###srcFileMap
Type Function
Parameters: fileName
> Function for transforming src file path
> At default returns path.join(config.srcDir, fileName);
##Inline options
You can set options inline that way: (omit quotes sign)
`html
`
Examples
$3
#####gulpfile.js
`javascript
var gulp = require('gulp');
var uncache = require('gulp-uncache');
gulp.task('default', function () {
return gulp.src('src/index.html')
.pipe(uncache({
append: 'hash',
rename: true,
srcDir: 'src',
distDir: 'dist'
}))
.pipe(gulp.dest('dist'));
});
`
#####src/index.html
`html
`
#####dist/index.html
`html
`
$3
#####gulpfile.js
`javascript
var gulp = require('gulp');
var usemin = require('gulp-usemin');
var uncache = require('gulp-uncache');
gulp.task('default', function () {
return gulp.src('src/index.html')
.pipe(usemin({
js: []
}))
.pipe(uncache())
.pipe(gulp.dest('dist'));
});
`
#####src/index.html
`html
`
#####dist/index.html
`html
`
To do
* 'uncache' for all sources in files without tags
* support css images (e.g. for often changing css sprites image)
Changelog
#####0.4.0-beta1
- supporting SrcFile as a mapping function
#####0.2.3
- option template
#####0.2.2
- inline options
- fixed parsing regexp
#####0.2.0
- option rename
- option append hash
- allow both ' and "` in tags