github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/build-blockchain-insurance-app-master/web/www/config/express.js (about) 1 'use strict'; 2 3 import express from 'express'; 4 import bodyParser from 'body-parser'; 5 import path from 'path'; 6 import morgan from 'morgan'; 7 import compression from 'compression'; 8 import i18nConfig from './i18n'; 9 10 export default function (app) { 11 const isDev = app.get('env') === 'development'; 12 13 // Configure Express 14 app.set('view engine', 'pug'); 15 app.use(compression({ 16 filter: (req, res) => { 17 if (req.headers['x-no-compression']) { 18 return false; 19 } 20 return compression.filter(req, res); 21 } 22 })); 23 app.use(require('cookie-parser')()); 24 app.use(bodyParser.urlencoded({ 25 extended: true 26 })); 27 app.use(bodyParser.json()); 28 29 // Serve static files with lower priority 30 app.use(express.static(path.resolve(__dirname, '../..', 'static'))); 31 const webpackConfig = isDev ? require('../../webpack.config.dev').default : require('../webpack.config.prod').default; 32 if (isDev) { 33 const webpack = require('webpack'); 34 const compiler = webpack(webpackConfig); 35 // Configure logging 36 app.use(morgan('dev')); 37 // Configure webpack 38 app.use(require('webpack-dev-middleware')(compiler, { 39 noInfo: false, 40 publicPath: webpackConfig.output.publicPath 41 })); 42 app.use(require('webpack-hot-middleware')(compiler)); 43 } else { 44 console.log(webpackConfig.output.path); 45 app.use(express.static(webpackConfig.output.path)); 46 } 47 48 // Set up internationalization for the backend 49 i18nConfig(app); 50 51 // Set up security features if running in the cloud 52 if (process.env.VCAP_APPLICATION) { 53 require('./security').default(app); 54 } 55 }