// Use JSX on the server require('node-jsx').install({ extension: '.jsx' }); // Stupid simple server var express = require('express'); // Use React on the server var React = require('react'); // Route config var routes = require('./routes.jsx'); // Head var Head = React.createFactory(require('./components/Head.jsx')); // Require React-Router var Router = require('react-router'); var Route = Router.Route; var NotFoundRoute = Router.NotFoundRoute; var DefaultRoute = Router.DefaultRoute; var Link = Router.Link; var RouteHandler = Router.RouteHandler; var server = express(); server.set('state namespace', 'App'); server.use('/public', express.static(__dirname + '/build')); server.use(function (req, res, next) { Router.run(routes, req.path, function (Handler, state) { var head = React.renderToStaticMarkup(Head()); var content = React.renderToString(React.createElement(Handler, null)); res.write(''); res.write(head); res.write(''); res.write('
' + content + '
'); res.write(''); res.write(''); res.write(''); res.end(); }); }); var port = process.env.PORT || 3000; server.listen(port); console.log('Listening on port ' + port);