【发布时间】:2018-01-30 11:27:52
【问题描述】:
我正在尝试使用我的 create-react-app 项目实现服务器端渲染。我现在真的不需要路由,因为它是一个单页应用程序。我一直在浏览一些文章,但它们对我来说似乎很复杂。有人可以指导我如何做到这一点,或者可以将我链接到一些更简单的文章吗?
这是到目前为止的代码:-
主应用组件,导入其他组件:-
import React, { Component } from "react";
import HomePage from "./HomePage";
import "./App.css";
class App extends Component {
render() {
return(
<div>
<HomePage/>
</div>
);
}
}
export default App;
到目前为止的 Express 代码:-
import express from "express";
import React from "react";
import { renderToString } from "react-dom/server";
import App from "../src/App";
const app = express();
app.use(express.static("../public"));
app.get('*', (req, res) => {
res.send(`
<!DOCTYPE html>
<head>
<title>Universal React</title>
</head>
<body>
<div id="root">${renderToString(<App/>)}</div>
</body>
</html>
`);
});
app.listen(3000, () => {
console.log('Server running on PORT 3000');
})
到目前为止,我查看的所有文章或视频都使用 webpack 并对 webpack.config.js 文件进行更改,但我使用的是包含 webpack 的 Create-react-app,没有配置文件,所以我是对如何进行所需的更改有点困惑?
【问题讨论】:
标签: reactjs express server-side-rendering