提问人:Apostolis16 提问时间:9/12/2023 更新时间:9/21/2023 访问量:64
如何在本地网络上托管 react + 节点服务器
How do i host react + node server on a local network
问:
我想在本地网络上托管一个 react 服务器和一个节点服务器,该网站有多个页面并使用 axios 从节点服务器发送和接收数据,在package.json中有一个代理来指导对节点服务器做出反应
"proxy": "http://localhost:8080",
"homepage": "./"
PS:如果这很重要,我会使用 Express.js
答:
3赞
Aditya
9/12/2023
#1
确保它在特定端口上运行,例如端口 8080
const express = require('express');
const app = express();
const port = 8080;
// Define your routes and middleware here
app.listen(port, () => {
console.log(`Node server is running on port ${port}`);
});
现在你的 React 应用程序已经在 package.json 文件中配置了“proxy”字段,它很好
使用以下命令运行 React 开发服务器:
npm start
默认情况下,它应该在端口 3000 上运行。
现在访问本地的 React
通过查找本地 IP 地址并指定端口(通常为 3000),从同一本地网络上的其他设备访问您的 React 应用程序:
从同一网络上的另一台设备找到您的本地 IP 地址,打开 Web 浏览器并输入现在可以在本地服务器上访问
不轮到发出 API 请求http://your-local-ip:3000.
在 React 应用程序中,使用或任何其他 HTTP 客户端,使用代理中定义的相对路径向 Node 服务器发出 API 请求。axios
例如,如果您的 Node 服务器中有这样的路由
app.get('/api/data', (req, res) => {
// Handle the API request here
});
你可以像这样从你的 React 应用程序发出请求
axios.get('/api/data')
.then(response => {
// Handle the response data
})
.catch(error => {
// Handle errors
});
中的代理配置会自动将请求路由到 http://localhost:8080/api/datapackage.json
现在你的 react 应用程序和 Node 服务器应该在你的本地网络上协同工作。
0赞
Apostolis16
9/21/2023
#2
我刚刚使用了 serve 和 npm run build,我可以在 lan 上访问它
评论