app.js 2.2 KB

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