Skip to content

Instantly share code, notes, and snippets.

@markwylde
Created December 30, 2020 01:17
Show Gist options
  • Save markwylde/0d5cad0aaf81a07b7efc2ab7b8696edc to your computer and use it in GitHub Desktop.
Save markwylde/0d5cad0aaf81a07b7efc2ab7b8696edc to your computer and use it in GitHub Desktop.
server rendered mithril
const fs = require('fs');
const http = require('http');
const handler = require('serve-handler');
const render = require('mithril-node-render');
const htmlTemplate = fs.readFileSync('./index.html', 'utf8');
const ui = require('./js/ui');
const server = http.createServer(async function (request, response) {
if (request.url === '/') {
const html = await render(ui);
const output = htmlTemplate.replace('<body>', '<body>' + html);
response.write(output);
response.end();
return;
}
await handler(request, response);
});
server.on('listening', function () {
const address = server.address();
console.log('HTTP Server listening on port', address.address, address.port);
});
server.listen(8000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment