UNPKG

@srsl/tools

Version:

JavaScript tools for common interfaces

49 lines (37 loc) 1.29 kB
const path = require('path') const express = require('express') const cors = require('cors') const cookieParser = require('cookie-parser') const bodyParser = require('body-parser') const logger = require('../logger') module.exports = async ({ routes, views, sequelize, session = true, }) => { const app = express() // app.set('view engine', 'ejs') // app.set('views', path.resolve(__dirname, './views')) // app.use(express.static(path.resolve(__dirname, '../../public'))) // app.use(express.static(path.resolve(__dirname, '../../static'))) // app.use('/static', express.static(path.resolve(__dirname, '../../public'))) // app.use('/public', express.static(path.resolve(__dirname, '../../public'))) app.use(bodyParser.json({ limit: '50mb', extended: true })) app.use(bodyParser.urlencoded({ limit: '50mb', extended: true })) app.use(logger.outLogger) app.use(logger.errLogger) app.disable('x-powered-by') if (session) { const { store, session, EXPRESS_SESSION_SECRET } = require('./express-session')({ sequelize }) app.use(session) app.use(cookieParser(EXPRESS_SESSION_SECRET)) } else { app.use(cookieParser()) } if (process.env.NODE_ENV !== 'production') { app.use(cors()); } app.use('/', routes) return app }