app.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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('/thumbs/v1', require('./routes/res/thumbs'));
  33. app.use('/', require('./routes/index'));
  34. app.use('/proxy', require('./routes/proxy'));
  35. // catch 404 and forward to error handler
  36. app.use(function (req, res) {
  37. // 设置状态码为404
  38. res.status(404);
  39. // res.sendFile(path.join(__dirname, '404.html'));
  40. res.render('404', { title: '404 Error', description: 'PAGE NOT FOUND' });
  41. });
  42. // error handler
  43. app.use(function (err, req, res, next) {
  44. // set locals, only providing error in development
  45. res.locals.message = err.message;
  46. res.locals.error = req.app.get('env') === 'development' ? err : {};
  47. console.log("error:" + err);
  48. // render the error page
  49. res.status(err.status || 500);
  50. res.render('404', { title: '404 Error', description: 'PAGE NOT FOUND' });
  51. });
  52. // 启动服务器,监听3000端口
  53. const PORT = process.env.PORT || 3000;
  54. app.listen(PORT, () => {
  55. console.log(`Server is running on http://localhost:${PORT}`);
  56. });