Only one config for client and server.

This commit is contained in:
Your Name 2014-06-06 21:22:57 +02:00
parent 46717e14ae
commit a2723c6b12
8 changed files with 62 additions and 28 deletions
server

View file

@ -1,6 +1,6 @@
'use strict';
angular.module('ffffng').factory('app', function (fs) {
angular.module('ffffng').factory('app', function (fs, config, _) {
var express = require('express');
var bodyParser = require('body-parser');
var compress = require('compression');
@ -10,8 +10,34 @@ angular.module('ffffng').factory('app', function (fs) {
app.use(bodyParser());
var clientDir = __dirname + '/../client';
var templateDir = __dirname + '/templates';
var jsTemplateFiles = [
'/config.js'
];
app.use(compress());
function serveTemplate(mimeType, req, res, next) {
return fs.readFile(templateDir + '/' + req.path, 'utf8', function (err, body) {
if (err) {
return next(err);
}
res.writeHead(200, {'Content-Type': mimeType});
res.end(_.template(body, { config: config.client }));
return null; // to suppress warning
});
}
app.use( function (req, res, next) {
if (jsTemplateFiles.indexOf(req.path) >= 0) {
return serveTemplate('application/javascript', req, res, next);
}
return next();
});
app.use('/', express.static(clientDir + '/'));
return app;