@srsl/tools
Version:
JavaScript tools for common interfaces
49 lines (37 loc) • 1.29 kB
JavaScript
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
}