const express = require('express'); const cookieParser = require('cookie-parser'); const path = require('path'); require('express-async-errors'); require('module-alias/register'); const api = require('./routes/routes'); const session = require('../middleware/session'); const morgan = require('../middleware/morgan'); const errHandle = require('../middleware/error'); const page = require('../middleware/page'); const login = require('../middleware/login'); const renderEx = require('../middleware/renderEx'); const crossDomain = require('../middleware/crossDomain'); require('../schedule'); const app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.engine('.html', require('ejs').__express); app.set('view engine', 'html'); app.use(morgan); app.use(crossDomain()); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use(page()); app.use(login()); app.use(renderEx()); // 注册路由 api.forEach(item => { app.use(item.path, item.router); }); // catch 404 and forward to error handler app.use((req, res) => { res.renderEx('error', { title: '伏羲碳惠 - 一站式碳交易平台 - 碳资产开发 - 碳排放管理 - 碳中和', }); }); // error handler app.use(errHandle()); module.exports = app;