import React from 'react'; import ReactDOMServer from 'react-dom/server'; import MainTemplate from '../client/MainTemplate'; import MainApp from '../client/main/App'; import createHTML from '../client/utils/createHTML'; import getEntryPoints from '../utils/getEntryPoints'; import renderTemplate from '../utils/renderTemplate'; export default function serveMainPage(req, res) { const content = createHTML( ReactDOMServer.renderToString(React.createElement(MainApp)) ); const entryPoints = getEntryPoints('main', { es: 'module', system: 'nomodule' }); const html = renderTemplate(MainTemplate, { content, entryPoints }); res .set({ 'Cache-Control': 'public, max-age=14400', // 4 hours 'Cache-Tag': 'main' }) .send(html); }