Skip to content

Instantly share code, notes, and snippets.

@rogeriochaves
Last active January 23, 2018 17:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rogeriochaves/993b0fdd148724d1d5c53d47b2fd2722 to your computer and use it in GitHub Desktop.
Save rogeriochaves/993b0fdd148724d1d5c53d47b2fd2722 to your computer and use it in GitHub Desktop.
const path = require('path');
const fs = require('fs');
const express = require('express');
const React = require('react');
const App = require('./transpiled/App.js').default;
const { renderToString } = require('react-dom/server');
const server = express();
server.get('/', (req, res) => {
const htmlPath = path.resolve(__dirname, 'build', 'index.html');
fs.readFile(htmlPath, 'utf8', (err, html) => {
const rootElem = '<div id="root">';
const renderedApp = renderToString(React.createElement(App, null));
res.send(html.replace(rootElem, rootElem + renderedApp));
});
});
server.use(express.static('build'));
const port = process.env.PORT || 8080;
server.listen(port, () => {
console.log(`App listening on port ${port}`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment