我正试图在Heroku上部署我的第一个React应用程序。我在后台使用了简单的json文件。
在本地,一切运行良好:我的服务器位于localhost:8080上,前端axios调用从中获取数据,如下所示:
axios.get(localhost:8080/bench).then( (response) => {
// my logic here
})
我的部署流程是:
- 运行
npm build
,并将构建文件夹中的所有内容放入服务器端的公用文件夹中。这是入口点文件:
const path = require("path");
const publicPath = path.join(__dirname, "public");
console.log(publicPath);
app.use(express.static(publicPath));
app.get("*", (req, res) => {
res.sendFile(path.join(publicPath, "index.html"));
});
- 推送构建工件到Heroku
这样做,从前端部分到Heroku的一切都很好。
我担心的是我不知道我应该用什么axios调用前端来从服务器获取数据我缺少什么吗?
Localhost
仅适用于您的机器。在您的前端,您需要更改axios url以指向您部署的服务器的url,如下所示:
axios.get(`${YOUR_HEROKU_URL}`/bench)