Awesome
cache-pug-templates
Table of Contents
Install
npm:
npm install cache-pug-templates
yarn:
yarn add cache-pug-templates
Usage
Basic
const path = require('path');
const CachePugTemplates = require('cache-pug-templates');
const views = path.join(__dirname, 'views');
const cache = new CachePugTemplates({ views });
cache.start();
Koa
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();
});
Express
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();
});
Options
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 theapp
option, this will be automatically populated to your applicationsviews
configuration option viaapp.get('views')
)logger
(Object) - a logger, defaults toconsole
(we recommend using Cabin for your logger)callback
(Function) - defaults tofalse
(no operation), but if a function is provided then it will be invoked with two arguments,file
(String) andtemplate
(Function)cache
(Boolean) - defaults totrue
, whether or not to cache templates automatically ifcache.start()
is called (useful if you are writing tests or have a custom approach usingcallback
function)concurrency
(Number) - number of concurrent files that can be cached perinterval
in parallel (defaults to1
)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 is1000
Debugging
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));
Contributors
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |