Skip to content

Instantly share code, notes, and snippets.

@joemccann
Created July 19, 2011 08:06
Show Gist options
  • Save joemccann/1091671 to your computer and use it in GitHub Desktop.
Save joemccann/1091671 to your computer and use it in GitHub Desktop.
Sample express app using smoosh config debug flag.
var express = require('express')
, cluster = require('cluster')
, fs = require('fs')
, debug
var smooshConfig = JSON.parse(fs.readFileSync('./smoosh.json', 'UTF-8'))
// set the debug flag
debug = smooshConfig.DEBUG
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.set('env', debug ? 'development' : 'production')
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res){
res.render('index', {
title: '',
version: smooshConfig.VERSION,
debug: debug
});
});
cluster(app)
.set('env', debug ? 'development' : 'production')
.in('development')
.set('workers', 1)
.use(cluster.logger('logs', 'debug'))
.use(cluster.debug())
.listen(3000)
.in('production')
.set('workers', 4)
.use(cluster.logger())
.use(cluster.pidfiles())
.listen(80);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment