app.js 2.2 KB

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