cache-busted

A simplistic cache buster that appends the current version for production environments and the current time otherwise (great for development)

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
cache-busted
1.2.08 years ago9 years agoMinified + gzip package size for cache-busted in KB

Readme

cache-bust
Use cache busting in express. Adds a version query string to ressources.

Usage with express

var express = require('express');
var cacheBust = require('cache-busted');

var app = express();
cacheBust.handler(app);

This exposes the function cacheBust in your app locals. Enabling you to do the following (example using jade):
head
  title Hello World
  != cacheBust('/public/js/app.js')
  != cacheBust('/public/css/style.css')
  != cacheBust('/public/css/style', 'css')

Output:
<head>
  <title>Hello World</title>
  <script type="text/js" src="/public/js/app.js?v=1.0.0" />
  <link rel="stylesheet" href="/public/css/style.css?v=1.0.0" />
  <link rel="stylesheet" href="/public/css/style.css?v=1.0.0" />
</head>

Options

Add the options to the handler call: cacheBust.handler(app, options)
version: Use this exact version. Default: null which will make this module look for a package.json in the folder below packageLocation: Path to the package.json. Defaults to ../../package.json.

Difference production and development

The above example is the output if the NODEENV environment variable is set to production or integration. Otherwise it also appends the current timestamp so that each request will load all new dependencies. Example:
<link rel="stylesheet" href="/public/css/style.css?v=1.0.0-1432576223502" />