将React ES6渲染为Express的字符串

时间:2017-04-02 10:45:11

标签: node.js reactjs express

我已经用ES6风格编写了一个React应用程序,我的所有组件都构建如下:

import React, { Component } from 'react';

class Test extends Component {
    render() {
        return (
            <div className="testDiv">
                Hello Word
            </div>
        )
    }
}

export default Test;

本网站通过端口3000的“npm start”通过默认配置运行。

此外,我在端口8080上通过expressJS创建了一个带有API的nodeJS应用程序。现在我想创建一个单独的路由来表示我可以呈现React应用程序并将HTML String传递回客户端的位置。最好的方法是什么?我是React开发的新手,希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:1)

以下是如何在Express服务器上呈现Test组件的简约示例:

import express from 'express';
import Test from './Test';
import React from 'react';
import ReactDOM from 'react-dom/server';

const app = express();

app.get('*', (req, res) => res.send(ReactDOM.renderToString(<Test />)));

app.listen(8080);