我使用创建反应的应用程序内和刚添加的SSR相同。
我只是增加了一个中间件renderToString的反应程序。
但我不知道有关路由。 如果它留在客户端或快递(服务器)上。 如果是在客户端它无法正常工作。 每个请求被投放到主页。 比较中肯的代码,我已经写了。 不知道怎么虽然修补它服务于其他的网页,仍然保持相同的设置。
代码如下
服务器/ index.js
import express from 'express';
import serverRenderer from './middleware/renderer';
const PORT = 3001;
const path = require('path');
const app = express();
const router = express.Router();
router.use('^/$', serverRenderer);
app.use('/static', express.static(path.join(__dirname, 'assets')));
router.use(express.static(
path.resolve(__dirname, '..', 'build'),
{ maxAge: '30d' },
));
router.use('*', serverRenderer);
app.use(router);
...
中间件/ renderer.js
import {createMemoryHistory } from 'history';
...
const history = createMemoryHistory({
initialEntries: ['/', '/next', '/last'],
initialIndex: 0
});
export default (req, res, next) => {
console.log(req.url); //logs `/` for every route
};
不明白我在做什么错在这里。