forked from facebook/react
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
21 lines (16 loc) · 702 Bytes
/
server.js
File metadata and controls
21 lines (16 loc) · 702 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var React = require('react');
var express = require('express');
var path = require('path');
// Transparently support JSX
require('node-jsx').install();
var app = express();
// All the render server does is take a CommonJS module ID and some JSON props
// in the querystring and return a static HTML representation of the component.
// Note that this is a backend service hit by your actual web app. Even so,
// you would probably put Varnish in front of this in production.
app.get('/', function(req, res){
var component = require(path.resolve(req.query['module']));
var props = JSON.parse(req.query['props'] || '{}');
res.send(React.renderToString(component(props)));
});
app.listen(3000);