Permalink
Cannot retrieve contributors at this time
Fetching contributors…

import manifest from '../rev-manifest.json'; | |
const __DEV__ = process.env.NODE_ENV === 'development'; | |
const manifestPath = '../rev-manifest.json'; | |
export default function({ globalPrepend = '' } = {}) { | |
function rev(manifest, scopedPrepend, asset) { | |
return `${globalPrepend}${scopedPrepend}/${ manifest[asset] || asset }`; | |
} | |
const boundRev = rev.bind(null, manifest); | |
return function(req, res, next) { | |
// in dev environment, we reread the manifest on every call | |
// this means we do not need to restart server on every change to | |
// client code | |
if (__DEV__) { | |
// we first need to remove the manifest from require cache | |
delete require.cache[require.resolve(manifestPath)]; | |
// and re-require | |
const manifest = require(manifestPath); | |
res.locals.rev = rev.bind(null, manifest); | |
return next(); | |
} | |
// in production we take use the initially loaded manifest | |
// since this should not change in production | |
res.locals.rev = boundRev; | |
return next(); | |
}; | |
} |