Skip to content

Commit a685e0e

Browse files
committed
add React Render Server JS config files
1 parent 50cb73a commit a685e0e

File tree

5 files changed

+74
-0
lines changed

5 files changed

+74
-0
lines changed

src/config/rrs/.babelrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"presets": [
3+
"es2015",
4+
"react"
5+
]
6+
}

src/config/rrs/.env

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# --------------------------------
2+
# REACT RENDER SERVER CONFIG
3+
# --------------------------------
4+
5+
RRS_DEBUG=true
6+
RRS_PORT=10000

src/config/rrs/package.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"private": true,
3+
"scripts": {
4+
"start": "NODE_PATH=src node server.js"
5+
},
6+
"dependencies": {
7+
"babel-core": "^6.4.5",
8+
"babel-preset-es2015": "^6.3.13",
9+
"babel-preset-react": "^6.3.13",
10+
"dotenv": "^2.0.0",
11+
"express": "^4.13.3",
12+
"react": "^0.14.3",
13+
"react-dom": "^0.14.5"
14+
}
15+
}

src/config/rrs/server.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
'use strict';
2+
3+
var express = require('express');
4+
var React = require('react');
5+
var ReactDOMServer = require('react-dom/server');
6+
var app = express();
7+
8+
require('babel-core/register');
9+
require('dotenv').config();
10+
11+
console.log('Initalizing React Render Server.');
12+
13+
app.get('/', function(req, res) {
14+
15+
var props = JSON.parse(req.query.props || '{}');
16+
17+
try {
18+
var component = require('./src/' + req.query.component);
19+
} catch (e) {
20+
res.send(process.env.RRS_DEBUG ? e : '');
21+
return;
22+
}
23+
24+
res.send(ReactDOMServer.renderToString(
25+
React.createElement(component, props)
26+
));
27+
28+
});
29+
30+
app.listen(process.env.RRS_PORT);
31+
32+
console.log('React Render Server listening on port ' + process.env.RRS_PORT + '...');

src/config/rrs/src/HelloWorld.jsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'use strict';
2+
3+
import React from 'react';
4+
5+
export class HelloWorld extends React.Component {
6+
render() {
7+
return (
8+
<div>
9+
React Render Server -> Hello World :)
10+
</div>
11+
);
12+
}
13+
};
14+
15+
module.exports = HelloWorld;

0 commit comments

Comments
 (0)