forked from codazzo/radvisor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
54 lines (47 loc) · 1.48 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var config = require('./config'),
fs = require("fs"),
db = require("./db"),
http = require('http'),
less = require("less"),
_ = require("underscore"),
uglifier = require('./public/uglify'); //minification is performed here //TODO find better pattern?
var ui = require('./routes/ui'),
events = require('./routes/events'),
event = require('./routes/event'),
regions = require('./routes/regions'),
dj = require('./routes/dj');
var app = config.app;
app.get("*.less.*", function(req, res) {
var path = __dirname + req.url;
fs.readFile(path, "utf8", function(err, data) {
if (err) throw err;
less.render(data, function(err, css) {
if (err) throw err;
res.header("Content-type", "text/css");
res.send(css);
});
});
});
/*
* Serve resources under /public. This is a hack because '/public' shouldn't be in the source map url
* TODO do this better
*/
var publicRouter = function(req, res){
var originalUrl = req.originalUrl;
var choppedUrl = originalUrl.substr('/public'.length, originalUrl.length);
res.redirect(choppedUrl);
}
var routes = {
'/' : ui.mobile,
'/regions': regions,
'/events/*': events,
'/event/*': event,
'/dj/*': dj,
'/public/*' : publicRouter
}
_.each(routes, function(handler, route){
app.get(route, handler);
});
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});