app.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const createError = require('http-errors');
  2. const express = require('express');
  3. const path = require('path');
  4. const cookieParser = require('cookie-parser');
  5. const session = require('express-session');
  6. const ejs = require('ejs');
  7. const bodyParser = require('body-parser');
  8. const indexRouter = require('./routes/index');
  9. const usersRouter = require('./routes/users');
  10. const app = express();
  11. const serverConfig = require('./configs/server.json');
  12. // view engine setup
  13. app.set('views', path.join(__dirname, 'views'));
  14. app.set('view engine', 'ejs');
  15. app.use('/js', express.static(path.join(__dirname, './public/js')));
  16. app.use('/js', express.static(path.join(__dirname, './public/img')));
  17. app.use('/', express.static(path.join(__dirname, './public')));
  18. // 配置session
  19. app.use(
  20. session({
  21. secret: 'air',
  22. name: 'session', //这里的name值得是cookie的name,默认cookie的name是:connect.sid
  23. cookie: { maxAge: 1800000 }, //过期时间半小时
  24. keys: ['owner', 'captcha'], // 用户登陆信息,验证码字段
  25. resave: true,
  26. saveUninitialized: true,
  27. })
  28. );
  29. app.use(bodyParser.urlencoded({ limit: '10mb', extended: true }));
  30. app.use(bodyParser.json({ limit: '10mb' }));
  31. app.use('/', indexRouter);
  32. app.use('/users', usersRouter);
  33. // catch 404 and forward to error handler
  34. app.use(function(req, res, next) {
  35. next(createError(404));
  36. });
  37. // error handler
  38. app.use(function(err, req, res, next) {
  39. // set locals, only providing error in development
  40. res.locals.message = err.message;
  41. res.locals.error = req.app.get('env') === 'development' ? err : {};
  42. // render the error page
  43. res.status(err.status || 500);
  44. res.render('error');
  45. });
  46. app.listen(serverConfig.port, serverConfig.host, ()=>{
  47. log.warn(`服务启动 server is running to @http://${serverConfig.host}:${serverConfig.port}`);
  48. })
  49. module.exports = app;