app.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. const express = require('express');
  2. const path = require('path');
  3. const app = express();
  4. const config = require('./config/app')
  5. const session = require('express-session');
  6. const RedisStore = require('connect-redis')(session);
  7. const cookieParser = require('cookie-parser');
  8. const bodyParser = require('body-parser');
  9. const authChecker = require('./libs/auth/checker');
  10. app.set('trust proxy', 1) //trust first proxy, get ip
  11. // 设置视图引擎为EJS
  12. app.set('view engine', 'ejs');
  13. // 设置视图目录
  14. app.set('views', path.join(__dirname, 'views'));
  15. app.use(cookieParser());
  16. app.use(express.static(config.STATIC_DIR));
  17. app.use(express.static(path.join(__dirname, 'dist')));
  18. app.use(session({
  19. store: new RedisStore({
  20. prefix: 'artsite_sess:'
  21. }),
  22. cookie: config.cookie,
  23. saveUninitialized: false,
  24. secret: 'MhxzKhl123.',
  25. resave: false,
  26. name: config.sessionName || sid,
  27. }));
  28. app.use(bodyParser.json());
  29. app.use(bodyParser.urlencoded({
  30. extended: false
  31. }));
  32. app.use('/napi/web/auth', require('./routes/napi/web/auth'));
  33. app.use('/napi/web/menu', authChecker.checkLogin, require('./routes/napi/web/menu'));
  34. app.use('/napi/web/art', authChecker.checkLogin, require('./routes/napi/web/art'));
  35. app.use('/napi/web/user', authChecker.checkLogin, require('./routes/napi/web/user'));
  36. app.use('/napi/web/role', authChecker.checkLogin, require('./routes/napi/web/role'));
  37. app.use('/thumbs/v1', require('./routes/res/thumbs'));
  38. app.use('/proxy', require('./routes/proxy'));
  39. app.use('/', require('./routes/index'));
  40. // catch 404 and forward to error handler
  41. app.use(function (req, res) {
  42. // 设置状态码为404
  43. res.status(404);
  44. // res.sendFile(path.join(__dirname, '404.html'));
  45. res.render('404', { title: '404 Error', description: 'PAGE NOT FOUND' });
  46. });
  47. // error handler
  48. app.use(function (err, req, res, next) {
  49. // set locals, only providing error in development
  50. res.locals.message = err.message;
  51. res.locals.error = req.app.get('env') === 'development' ? err : {};
  52. console.log("error:" + err);
  53. // render the error page
  54. res.status(err.status || 500);
  55. res.render('404', { title: '404 Error', description: 'PAGE NOT FOUND' });
  56. });
  57. // 启动服务器,监听6889端口
  58. const PORT = process.env.PORT || 6889;
  59. app.listen(PORT, () => {
  60. console.log(`Server is running on http://localhost:${PORT}`);
  61. });