cache-busted
Version:
A simplistic cache buster that appends the current version for production environments and the current time otherwise (great for development)
50 lines (35 loc) • 1.41 kB
Markdown
# cache-bust
Use cache busting in express. Adds a version query string to ressources.
## Usage with express
```js
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):
```jade
head
title Hello World
!= cacheBust('/public/js/app.js')
!= cacheBust('/public/css/style.css')
!= cacheBust('/public/css/style', 'css')
```
Output:
```html
<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 NODE_ENV 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:
```html
<link rel="stylesheet" href="/public/css/style.css?v=1.0.0-1432576223502" />
```