app.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*global require:true, __dirname:true */
  2. var express = require('express');
  3. var session = require('express-session');
  4. var exphbs = require('express-handlebars');
  5. var cookieParser = require('cookie-parser');
  6. var bodyParser = require('body-parser');
  7. var favicon = require('serve-favicon');
  8. var errorHandler = require('errorhandler');
  9. var events = require('events');
  10. var http = require('http');
  11. var path = require('path');
  12. var logger = require('morgan');
  13. var app = express();
  14. var config = {
  15. development: require('./config/config-dev.js'),
  16. production: require('./config/config.js')
  17. };
  18. var secrets = require('./config/secrets');
  19. var passportConf = require('./config/passport');
  20. var homeController = require('./controllers/home');
  21. var userController = require('./controllers/user');
  22. app.use(errorHandler());
  23. app.use(bodyParser.json());
  24. app.use(bodyParser.urlencoded({ extended: false }));
  25. app.use(cookieParser());
  26. app.use(express.static(path.join(__dirname, 'app')));
  27. app.use(favicon(path.join(__dirname, 'app/img', 'favicon.ico')));
  28. app.engine('.hbs', exphbs({
  29. defaultLayout: 'main',
  30. extname: '.hbs',
  31. layoutsDir:'app/views/layouts',
  32. partialsDir:'app/views/partials'
  33. }));
  34. app.set('view engine', '.hbs');
  35. app.set('views', path.join(__dirname, 'app/views'));
  36. app.get('/', homeController.index);
  37. app.get('/login', userController.getLogin);
  38. var logger = new events.EventEmitter();
  39. logger.on('newEvent', function(event, data) {
  40. console.log('%s: %s', event, JSON.stringify(data));
  41. });
  42. app.listen(conf.port), function() {
  43. console.log('listening on port %d in %s mode', app.get('port'), app.get('env'));
  44. }
  45. module.exports = app;