Package Exports
- cache-pug-templates
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cache-pug-templates) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cache-pug-templates
Table of Contents
Install
npm:
npm install cache-pug-templates
yarn:
yarn add cache-pug-templates
Usage
Koa
const cachePugTemplates = require('cache-pug-templates');
const Koa = require('koa');
const path = require('path');
const redis = require('redis');
const app = new Koa();
const redisClient = redis.createClient();
// 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, () => {
cachePugTemplates(app, redisClient, views);
});
Express
const cachePugTemplates = require('cache-pug-templates');
const express = require('express');
const path = require('path');
const redis = require('redis');
const app = express();
const redisClient = redis.createClient();
// optional (by default express defaults to `./views`)
// app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.listen(3000, () => {
cachePugTemplates(app, redisClient, views);
});
Callback
You can also pass an optional callback function with arguments err
and cache
.
The argument cached
is an Array of filenames that have been cached (from Object.keys(pug.cache)
).
// ...
app.listen(3000, () => {
cachePugTemplates(app, redisClient, (err, cached) => {
if (err) throw err;
console.log(`successfully cached (${cached.length}) files`);
});
});
Note that with Koa you'll need to pass the views
argument as well:
// ...
const views = path.join(__dirname, 'views');
app.listen(3000, () => {
cachePugTemplates(app, redisClient, views, (err, cached) => {
if (err) throw err;
console.log(`successfully cached (${cached.length}) files`);
});
});
By default this callback simply console.error
the err
(if any).
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/ |