Use Benchpress (#5901)

* Use Benchpress

* Use Benchpress.compileParse

* Error for template load failure

* Use benchpressjs package

* Compile templates on demand

* Fix user settings page

* Fix admin search to exclude `.jst` files

* Fix 500-embed

So ajaxify can still show an error if the server goes down
This commit is contained in:
Peter Jaszkowiak
2017-08-24 17:26:50 -06:00
committed by Barış Soner Uşaklı
parent 864321f727
commit abffc29128
16 changed files with 128 additions and 55 deletions

View File

@@ -27,7 +27,7 @@ var plugins = require('./plugins');
var flags = require('./flags');
var routes = require('./routes');
var auth = require('./routes/authentication');
var templates = require('templates.js');
var Benchpress = require('benchpressjs');
var helpers = require('../public/src/modules/helpers');
@@ -119,11 +119,24 @@ function setupExpressApp(app, callback) {
var middleware = require('./middleware');
var relativePath = nconf.get('relative_path');
var viewsDir = nconf.get('views_dir');
app.engine('tpl', templates.__express);
app.engine('tpl', function (filepath, data, next) {
filepath = filepath.replace(/\.tpl$/, '.jst');
middleware.templatesOnDemand({
filePath: filepath,
}, null, function (err) {
if (err) {
return next(err);
}
Benchpress.__express(filepath, data, next);
});
});
app.set('view engine', 'tpl');
app.set('views', nconf.get('views_dir'));
app.set('json spaces', process.env.NODE_ENV === 'development' ? 4 : 0);
app.set('views', viewsDir);
app.set('json spaces', global.env === 'development' ? 4 : 0);
app.use(flash());
app.enable('view cache');