服务端渲染问题生产reactjs

时间:2021-01-18 18:14:09

标签: javascript reactjs express

我发布了这篇文章 Externals API issue in Production - Reactjs

我的 reactjs 应用是用 SSR 渲染的,在生产模式下我不能用 axios 进行 POST GET。

如果我渲染不使用 SSR 渲染,所有东西都可以在生产中工作。

你能告诉我这段代码有什么问题吗。

SSR:

这里我使用 Template(...)

app.get("*", (req, res) => {
    const context = {}
    const Markup = renderToString(
        <StaticRouter location = {req.url} context={context}>
            <Application/>
        </StaticRouter>
    )
    if (context.url) {
        return res.redirect(303, context.url)
    }
    const style1 = fs.readFileSync(path.join(CWD, "/client/style.css"));
    const style2 = fs.readFileSync(path.join(CWD, "/client/stylesheets/main.css"));
    const bootstrap = fs.readFileSync(path.join(CWD, "client/bootstrap.min.css"));
    const mergeCss = (...file) => {
        const files = [...file];
        return files.join(" ")
    }
    res.status(200).send(Templates({
        markup : Markup,
        css : mergeCss(style1, style2),
        topCss : mergeCss(bootstrap)
    }))
})

当我使用这种样式来渲染 reactjs 时,它工作正常。 这里我使用 html。

app.get("*", (req, res) => {
    res.sendFile(path.join(CWD, "/client/public", "/index.html"))
})

我的 SSR 有什么问题?

0 个答案:

没有答案