app.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. var express = require('express');
  2. var path = require('path');
  3. var cookieParser = require('cookie-parser');
  4. var bodyParser = require('body-parser');
  5. var fileUpload = require('express-fileupload');
  6. var exphbs = require('express-handlebars');
  7. var expressValidator = require('express-validator');
  8. var flash = require('connect-flash');
  9. var session = require('express-session');
  10. var passport = require('passport');
  11. var localStrategy = require('passport-local').Strategy;
  12. var mongo = require('mongodb');
  13. var mongoose = require('mongoose');
  14. mongoose.connect('mongodb://localhost/loginapp');
  15. var db = mongoose.connection;
  16. var routes = require('./routes/index');
  17. var users = require('./routes/users');
  18. // Init App
  19. var app = express();
  20. // View Engine
  21. app.set('views', path.join(__dirname, 'views'));
  22. app.engine('handlebars', exphbs({defaultLayout:'layout'}));
  23. app.set('view engine', 'handlebars');
  24. app.use(bodyParser.json());
  25. app.use(bodyParser.urlencoded({ extended: false}));
  26. app.use(cookieParser());
  27. app.use(fileUpload());
  28. // Set Static Folder
  29. app.use(express.static(path.join(__dirname, 'public')));
  30. // Express Session
  31. app.use(session({
  32. secret: 'secret',
  33. saveUninitialized: true,
  34. resave: true
  35. }));
  36. // Passport init
  37. app.use(passport.initialize());
  38. app.use(passport.session());
  39. // Express Validator
  40. app.use(expressValidator({
  41. errorFormatter: function(param, msg, value) {
  42. var namesspace = param.split('.')
  43. , root = namesspace.shift()
  44. , formParam = root;
  45. while(namesspace.length) {
  46. formParam += '[' + namesspace.shift() + ']';
  47. }
  48. return {
  49. param: formParam,
  50. msg: msg,
  51. value : value
  52. };
  53. }
  54. }));
  55. // Connect Flash
  56. app.use(flash());
  57. // Global Vars
  58. app.use(function(req, res, next) {
  59. res.locals.success_msg = req.flash('success_msg');
  60. res.locals.error_msg = req.flash('error_msg');
  61. res.locals.error = req.flash('error');
  62. res.locals.user = req.user || null;
  63. next();
  64. })
  65. app.use('', routes);
  66. app.use('/users', users);
  67. app.set('port', (process.env.PORT || 8080));
  68. app.listen(app.get('port'), function () {
  69. console.log('Server started on port ' + app.get('port'));
  70. });