Gulp utility which inserts SHA1 checksums into filepaths. It can also produce symlinks so that files can be requested by their cache-broken path.
npm install --save-dev gulp-cache-breaker
Indicate urls that should have a cache-breaking query string parameter append to by wrapping them in {{cache-break:%url%}}
statements, as seen below:
<!DOCTYPE html><html>
<head>
<link rel="stylesheet" type="text/css" href="{{cache-break:/styles.css}}">
</head>
<body>
<script src="{{cache-break:/app.js}}">
</body>
</html>
Paths that aren't wrapped in {{cache-break:%url%}}
will not have the cache-breaking checksum inserted.
var gulp = require('gulp');
var CacheBreaker = require('gulp-cache-breaker');
var cb = new CacheBreaker();
gulp.task('html', function() {
return gulp.src('src/index.html')
.pipe(cb.gulpCbPath('dist'))
.pipe(gulp.dest('dist'));
});
// Write symlinks for all cache-broken paths from previous tasks.
gulp.task('symlink-cb-paths', ['html'], function() {
cb.symlinkCbPaths();
});
Type: string
Default: The current working directory, the result of process.cwd()
The path to the base directory from which static files that will be served. For instance, if files are built into the dist/
directory, this would be set to dist
. It's also important to make sure that cache-breaking occurs after any static resources are built (if you want the last modified time to serve as the cache-breaker).
Type: string
Default: The current working directory, the result of process.cwd()
Type: string
Default: null
A hostname for a CDN to generate absolute URIs to assets. This method replaces patterns of the form {{cdn-path:%url%}}
. If this parameter is null
, it calls through to gulpCbPath
.
Generates symlinks for all paths seen in previous calls to gulpCbPath
and gulpCdnUri
on this instance.