//Dependencies of Server import express from 'express'; import { config } from '../config'; import webpack from 'webpack'; import helmet from 'helmet'; //Dependencies of HotReloading import webpackConfig from '../webpack.config.dev'; import webpackDevMiddleware from 'webpack-dev-middleware'; import webpackHotMiddleware from 'webpack-hot-middleware'; //Dependencies of SSR import React from 'react'; import { renderToString } from 'react-dom/server'; //Router import { StaticRouter } from "react-router-dom/server"; //Redux import { createStore } from 'redux'; //, applyMiddleware import { Provider } from 'react-redux'; import reducer from '../frontend/reducers'; import initialState from '../frontend/reducers/initialState'; //App import App from '../frontend/components/App'; const { env, port } = config const app = express(); if(env === 'development'){ const compiler = webpack(webpackConfig); const serverConfig = { serverSideRender: true, publicPath: webpackConfig.output.publicPath, }; app .use(webpackDevMiddleware(compiler, serverConfig)) .use(webpackHotMiddleware(compiler, { path: "/reload_wss", heartbeat: 1000, })); }else{ app .use(express.static(`${__dirname}/../build`)) .use(helmet()) .use(helmet.permittedCrossDomainPolicies()) .disable('x-powered-by'); } const setResponse = (html, preloadedState) => { return(`