Cache Pug templates for Lad/Koa/Express/Connect with Redis
MIT License
npm:
npm install cache-pug-templates
yarn:
yarn add cache-pug-templates
const path = require('path');
const CachePugTemplates = require('cache-pug-templates');
const views = path.join(__dirname, 'views');
const cache = new CachePugTemplates({ views });
cache.start();
const path = require('path');
const Koa = require('koa');
const CachePugTemplates = require('cache-pug-templates');
const app = new Koa();
// optional (e.g. if you want to cache in non-production)
// app.cache = true;
// note that koa requires us to specify a
// path name for the views directory
const views = path.join(__dirname, 'views');
app.listen(3000, () => {
const cache = new CachePugTemplates({ app, views });
cache.start();
});
const path = require('path');
const express = require('express');
const CachePugTemplates = require('cache-pug-templates');
const app = express();
// optional (by default express defaults to `./views`)
// app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.listen(3000, () => {
const cache = new CachePugTemplates({ app, views });
cache.start();
});
app
(Object) - an instance of Koa, Express, or Connectviews
(String or Array) - a file directory path (or an Array of file directory paths) (if you pass an Express app instance as the app
option, this will be automatically populated to your applications views
configuration option via app.get('views')
)logger
(Object) - a logger, defaults to console
(we recommend using Cabin for your logger)callback
(Function) - defaults to false
(no operation), but if a function is provided then it will be invoked with two arguments, file
(String) and template
(Function)cache
(Boolean) - defaults to true
, whether or not to cache templates automatically if cache.start()
is called (useful if you are writing tests or have a custom approach using callback
function)concurrency
(Number) - number of concurrent files that can be cached per interval
in parallel (defaults to 1
)interval
(Number) - duration of time in (milliseconds) to limit concurrency for (e.g. 1 cached file every 1000ms
is the default), this value's default is 1000
If you want to check what the cache state is at anytime:
const pug = require('pug');
// ...
// get everything:
console.log('pug.cache', pug.cache);
// just get the file names:
console.log('pug cached files', Object.keys(pug.cache));
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |