diff --git a/app.js b/app.js index abac5238..ffa65875 100644 --- a/app.js +++ b/app.js @@ -3,34 +3,40 @@ * Module dependencies. */ -var express = require('express'), - routes = require('./routes'), - api = require('./routes/api'); - -var app = module.exports = express.createServer(); - -// Configuration - -app.configure(function(){ - app.set('views', __dirname + '/views'); - app.set('view engine', 'jade'); - app.set('view options', { - layout: false - }); - app.use(express.bodyParser()); - app.use(express.methodOverride()); - app.use(express.static(__dirname + '/public')); - app.use(app.router); -}); - - -app.configure('development', function(){ - app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); -}); - -app.configure('production', function(){ - app.use(express.errorHandler()); -}); +var http = require('http'); +var express = require('express'); +var routes = require('./routes'); +var api = require('./routes/api'); +var path = require('path'); + +var favicon = require('serve-favicon'); +var logger = require('morgan'); +var methodOverride = require('method-override'); +var session = require('express-session'); +var bodyParser = require('body-parser'); +var multer = require('multer'); +var errorHandler = require('errorhandler'); + +var app = express(); + +// all environments +app.set('port', process.env.PORT || 3000); +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'jade'); +app.use(logger('dev')); +app.use(methodOverride()); +app.use(session({ resave: true, + saveUninitialized: true, + secret: 'uwotm8' })); +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: true })); +app.use(express.static(path.join(__dirname, 'public'))); + +// error handling middleware should be loaded after the loading the routes + +if ('development' == app.get('env')) { + app.use(errorHandler()); +} // Routes @@ -40,17 +46,18 @@ app.get('/partials/:name', routes.partials); // JSON API app.get('/api/posts', api.posts); - app.get('/api/post/:id', api.post); app.post('/api/post', api.addPost); app.put('/api/post/:id', api.editPost); app.delete('/api/post/:id', api.deletePost); // redirect all others to the index (HTML5 history) + app.get('*', routes.index); // Start server -app.listen(3000, function(){ - console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); +var server = http.createServer(app); +server.listen(app.get('port'), function(){ + console.log('Express server listening on port ' + app.get('port')); }); diff --git a/package.json b/package.json index 84470bfe..5139cd16 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,22 @@ { - "name": "application-name" - , "version": "0.0.1" - , "private": true - , "dependencies": { - "express": "2.5.10" - , "jade": ">= 0.0.1" + "name": "application-name", + "version": "1.0.0", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": { + "angularjs": "0.0.1", + "body-parser": "^1.16.0", + "connect": "^3.5.0", + "errorhandler": "^1.5.0", + "express": "^4.14.0", + "express-session": "^1.15.0", + "jade": "^1.11.0", + "method-override": "^2.3.7", + "morgan": "^1.7.0", + "multer": "^1.2.1", + "pug": "^2.0.0-beta6", + "serve-favicon": "^2.3.2" } -} \ No newline at end of file +} diff --git a/routes/api.js b/routes/api.js index 48deee3b..fc883fa4 100644 --- a/routes/api.js +++ b/routes/api.js @@ -75,4 +75,4 @@ exports.deletePost = function (req, res) { } else { res.json(false); } -}; \ No newline at end of file +};