'use strict' process.env.NODE_ENV = process.env.NODE_ENV || 'development' // modules > native const path = require('path') // modules > 3rd party const express = require('express') const bodyParser = require('body-parser') const chalk = require('chalk') const highlightStack = require('@bmp/highlight-stack') process.on('uncaughtException', (err) => { console.error(chalk.red('UNCAUGHT EXCEPTION')) if (err.stack) { console.error(highlightStack(err.stack)) } else { console.error(err) } process.exit(1) }) const server = express() // set template engine server.set('view engine', 'ejs') server.set('views', path.join(__dirname, 'templates')) server.use('/', express.static('public')) // set up console logs in dev mode if (process.env.NODE_ENV !== 'production') { require('@bmp/console')({ log: true, error: true, dir: true }) const morgan = require('morgan') server.use(morgan('dev')) const webpackMiddleware = require('webpack-dev-middleware') const webpack = require('webpack') const webpackConfig = require('../webpack.config') server.use(webpackMiddleware(webpack(webpackConfig))) } server.use(bodyParser.json()) server.use(bodyParser.urlencoded({ extended: true })) // server.use('/', (req, res, next) => { // console.log('hello') // res.send('

Hello

') // }) const port = process.env.port || 1337 console.log(path.resolve(__dirname, '../')) require('./routes')(server) server.listen(port, () => { console.info(`[${chalk.cyan('INIT')}] HTTP Server listening on port ${chalk.magenta(port)} (${chalk.yellow(server.get('env'))})`) })