Merge pull request #1220 from moos/pug-memory
Process pug synchronously for better memory management - fixes #1219
This commit is contained in:
commit
dc311b60f6
|
|
@ -1,12 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
const pug = require('pug'),
|
||||
fs = require('fs'),
|
||||
Promise = require('bluebird'),
|
||||
path = require('path');
|
||||
|
||||
Promise.promisifyAll(fs);
|
||||
|
||||
const basePath = path.resolve(__dirname, 'templates');
|
||||
|
||||
const templateCache = {};
|
||||
|
|
@ -16,23 +12,19 @@ function getTemplate(templateName) {
|
|||
templateName = templateName + '.pug';
|
||||
|
||||
const template = templateCache[templateName];
|
||||
|
||||
if (template) {
|
||||
return Promise.resolve(template);
|
||||
return template;
|
||||
}
|
||||
|
||||
const filename = path.resolve(basePath, templateName);
|
||||
return fs.readFileAsync(filename, 'utf-8')
|
||||
.then((source) => {
|
||||
const renderedTemplate = pug.compile(source, {'filename': filename});
|
||||
templateCache[templateName] = renderedTemplate;
|
||||
return renderedTemplate;
|
||||
});
|
||||
const renderedTemplate = pug.compileFile(filename);
|
||||
|
||||
templateCache[templateName] = renderedTemplate;
|
||||
return renderedTemplate;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
renderTemplate(templateName, locals) {
|
||||
return getTemplate(templateName)
|
||||
.then((template) => template(locals));
|
||||
return getTemplate(templateName)(locals);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue