browserify-cachedeprecated

Easily cache Browserify bundles

Usage no npm install needed!

<script type="module">
  import browserifyCache from 'https://cdn.skypack.dev/browserify-cache';
</script>

README

This project is dead...

...and has been replaced by node-static-asset.

Do not install this package. It may be deleted from the npm repositories at any time.


browserify-cache - Strong and weak caching for Browserify bundles

Background

"Last-Modified" and "If-Modified-Since" are "weak" caching. If the "If-Modified-Since" header is set, then Browserify can send 304 Not Modified, if appropriate, which saves bandwidth.

"Expires" or "Cache-Control: max-age" are "strong" caching. The browser can simply pull from its own cache in certain cases to save an entire HTTP request.

In the client HTML, your Browserify bundle URL should contain the UNIX timestamp that matches the last modified date of the bundle.

https://github.com/substack/node-browserify

http://code.google.com/speed/page-speed/docs/caching.html

Usage

//Create Express app and config...
var config = {
    'browserify': { /* Configure as you normally would... */ }
};

//Setup browserify
var browserify = require('browserify');
var browserifyCache = require('browserify-cache');
var browserifyMiddleware = browserify(config.browserify);
app.use(browserifyCache(config.browserify, browserifyMiddleware) );

//Now you can expose this URL to your views using Express
app.helpers({
    'browserifyMount': function() {
        /* Note: browserify-cache will add the `mount` property to the
            browserify config object, in case you don't specify it. */
        return config.browserify.mount + '.' + browserifyMiddleware.modified.getTime() + '.js';
    }
});