Node.js 反应+;节点呈现空白页
我有一个React应用程序(在中运行良好),我决定尝试部署到Heroku(我从来没有这样做过)。我读了一本指南,基本上说我应该使用以下代码创建一个服务器文件,它将使用Node为我的React应用程序提供服务。() 我首先将服务器文件添加到我的React应用程序中,该应用程序位于codesandbox中,然后我以ZIP格式导出,在本地下载所有依赖项,并更新我的Node.js 反应+;节点呈现空白页,node.js,reactjs,Node.js,Reactjs,我有一个React应用程序(在中运行良好),我决定尝试部署到Heroku(我从来没有这样做过)。我读了一本指南,基本上说我应该使用以下代码创建一个服务器文件,它将使用Node为我的React应用程序提供服务。() 我首先将服务器文件添加到我的React应用程序中,该应用程序位于codesandbox中,然后我以ZIP格式导出,在本地下载所有依赖项,并更新我的package.json文件以使用“start”:“node server/server.js”。最后,我使用npmstart启动了服务器。
package.json
文件以使用“start”:“node server/server.js”
。最后,我使用npmstart
启动了服务器。然而,当我在本地运行它时,它只会给我一个空白页
因此,我决定在文本中添加一个额外的非“root”div
:这是一个测试。这个div按预期显示,这让我相信问题在于我的index.html文件无法加载我的index.js。。。但我不明白为什么。有人看到问题了吗
旁注:我使用
react router dom
而不是Node.js进行路由,因为我在学会使用Node之前创建了react应用程序-所以我不确定是否相关,只是想指出这一点。您是否尝试进行服务器端渲染
?
const path = require("path");
const express = require("express");
const app = express();
const publicPath = path.join(__dirname, "..", "public");
const port = process.env.PORT || 3000;
app.use(express.static(publicPath));
app.get("*", (req, res) => {
res.sendFile(path.join(publicPath, "index.html"));
});
app.listen(port, () => {
console.log("Server is up!");
});