app.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // 引入express框架
  2. const express = require('express');
  3. // 引入系统模块path
  4. const path = require('path');
  5. // 引入数据库模块
  6. require('./model/connect');
  7. // 引入body-parser模块
  8. const bodyParser = require('body-parser');
  9. // 引入express-session
  10. const session = require('express-session');
  11. // 引入art-template
  12. const template = require('art-template');
  13. // 引入第三方日期格式化模块
  14. const dateformat = require('dateformat');
  15. // 在开发环境中,将日志信息打印到控制台
  16. const morgan = require('morgan');
  17. // 导入config模块
  18. const config = require('config');
  19. // 创建网站APP
  20. const app = express();
  21. // 处理post请求参数
  22. app.use(bodyParser.urlencoded({extended: false}));
  23. // 配置session
  24. app.use(session({
  25. secret: 'secret key',
  26. resave: false,
  27. saveUninitialized: false,
  28. cookie: {
  29. maxAge: 24 * 60 * 60 * 1000,// 最大过期时间
  30. }
  31. }));
  32. // 告诉express框架模板的所在位置
  33. app.set('views', path.join(__dirname, 'views'));
  34. // 告诉express框架模板的默认后缀
  35. app.set('view engine', 'art');
  36. // 当渲染后缀为art的模板时,所使用的的模板引擎是什么
  37. app.engine('art', require('express-art-template'));
  38. // 给art-template配置函数
  39. template.defaults.imports.dateformat = dateformat;
  40. // 开放静态资源文件
  41. app.use(express.static(path.join(__dirname, 'public')));
  42. // console.log(config.get('title'));
  43. app.locals.webCNTitle = config.get('webCNTitle');
  44. app.locals.webENTitle = config.get('webENTitle');
  45. // 获取系统环境变量 process.env.NODE_ENV
  46. if(process.env.NODE_ENV == 'development') {
  47. console.log('当前处于开发环境');
  48. // 在开发环境中,将客户端发送到服务器端的请求信息打印到控制台中
  49. app.use(morgan('dev'));
  50. }else {
  51. console.log('当前处于生产环境');
  52. }
  53. // 拦截请求,判断用户的登录状态
  54. app.use('/admin', require('./middleware/loginGuard'));
  55. // 引入路由模块
  56. const home = require('./route/home');
  57. const admin = require('./route/admin');
  58. app.use('/home', home);
  59. app.use('/admin', admin);
  60. app.use((err, req, res, next) => {
  61. const result = JSON.parse(err);
  62. let arr = [];
  63. for(let attr in result){
  64. if(attr == 'path')continue;
  65. arr.push(attr + "=" + result[attr]);
  66. }
  67. let params = arr.join('&');
  68. res.redirect(`${result.path}?${params}`);
  69. })
  70. app.listen(80);
  71. console.log('网站服务器启动成功,请访问localhost');