var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var dbConfig = require('./db.js'); var Klapi = require('klapi')(dbConfig); var app = express(); var router = express.Router(); const cors = require('cors'); // view engine setup app.use(cors()); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); Klapi.Systems.RepositorySystem.setDB(dbConfig); Klapi = Klapi.minimal(router); Klapi.ModuleSystem.loadModules('./modules'); Klapi.ModuleSystem.run(); let prefix = process.env.NODE_ENV === 'production' ? '/api' : ''; app.use(prefix, router); // catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // console.log(res.locals.error); // render the error page res.status(err.status || 500); res.send('error'); }); module.exports = app;