app.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*global require:true, __dirname:true */
  2. var express = require('express');
  3. var exphbs = require('express-handlebars');
  4. var session = require('express-session');
  5. var expressValidator = require('express-validator');
  6. var flash = require('express-flash');
  7. var cookieParser = require('cookie-parser');
  8. var bodyParser = require('body-parser');
  9. var favicon = require('serve-favicon');
  10. var errorHandler = require('errorhandler');
  11. var events = require('events');
  12. var http = require('http');
  13. var path = require('path');
  14. var logger = require('morgan');
  15. var lusca = require('lusca');
  16. var methodOverride = require('method-override');
  17. var _ = require('lodash');
  18. var mongoose = require('mongoose');
  19. var MongoStore = require('connect-mongo')(session);
  20. var passport = require('passport');
  21. var app = express();
  22. var config = {
  23. development: require('./config/config-dev.js'),
  24. production: require('./config/config.js')
  25. };
  26. var secure = require('./config/secure');
  27. var passportConf = require('./config/passport');
  28. mongoose.connect(secure.db);
  29. mongoose.connection.on('error', function() {
  30. console.log('MongoDB Connection Error!');
  31. process.exit(1);
  32. });
  33. var homeController = require('./controllers/home');
  34. var userController = require('./controllers/user');
  35. app.use(errorHandler());
  36. app.use(bodyParser.json());
  37. app.use(bodyParser.urlencoded({ extended: false }));
  38. app.use(cookieParser());
  39. app.use(express.static(path.join(__dirname, 'app')));
  40. app.use(favicon(path.join(__dirname, 'app/img', 'favicon.ico')));
  41. app.engine('.hbs', exphbs({
  42. defaultLayout: 'main',
  43. extname: '.hbs',
  44. layoutsDir:'app/views/layouts',
  45. partialsDir:'app/views/partials'
  46. }));
  47. app.set('view engine', '.hbs');
  48. app.set('views', path.join(__dirname, 'app/views'));
  49. app.get('/', homeController.index);
  50. app.get('/login', userController.getLogin);
  51. var logger = new events.EventEmitter();
  52. logger.on('newEvent', function(event, data) {
  53. console.log('%s: %s', event, JSON.stringify(data));
  54. });
  55. app.listen(conf.port), function() {
  56. console.log('listening on port %d in %s mode', app.get('port'), app.get('env'));
  57. }
  58. module.exports = app;