Node.js 无法从网络中的另一台计算机上查看节点js服务器中的数据
我试图在本地网络上打开一个本地网站,我可以从网络中的每个设备访问该网站。Node.js 无法从网络中的另一台计算机上查看节点js服务器中的数据,node.js,reactjs,mongodb,Node.js,Reactjs,Mongodb,我试图在本地网络上打开一个本地网站,我可以从网络中的每个设备访问该网站。 我使用React作为前端,Nodejs作为后端,mongodb是我的数据库(本地)。 在运行所有内容的计算机上,我可以通过本地网络上的地址输入站点,并查看数据库中的数据,但只要通过同一网络上的另一台计算机输入站点,我就可以看到站点,但看不到数据库中的数据。 我怎样才能解决这个问题? 我将此代码用于node js服务器,并在终端中运行node server: const express = require('expres
我使用React作为前端,Nodejs作为后端,mongodb是我的数据库(本地)。
在运行所有内容的计算机上,我可以通过本地网络上的地址输入站点,并查看数据库中的数据,但只要通过同一网络上的另一台计算机输入站点,我就可以看到站点,但看不到数据库中的数据。 我怎样才能解决这个问题?
我将此代码用于node js服务器,并在终端中运行
node server
:
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
const ip = require('ip');
const app = express();
require('dotenv').config();
app.use(cors());
app.use(express.json());
const uri = process.env.ATLAS_URI;
mongoose.connect(uri);
const connection = mongoose.connection;
connection.once('open', () => {
console.log('MongoDB database connection established successfully');
});
const exercisesRouter = require('./routes/exercises');
const usersRouter = require('./routes/users');
app.use('/exercises', exercisesRouter);
app.use('/users', usersRouter);
app.use(express.static('../build'));
const path = require('path');
app.get('*', (req, res) => {
res.sendFile(path.resolve('../build/index.html'));
});
const PORT = process.env.PORT || 3000;
console.log('server started on port:', PORT, ip.address());
app.listen(PORT,"0.0.0.0");
第一件事是指定react主机。如果您正在使用
create react app
,只需运行HOST=your_ip npm run start
要获取此您的\u ip
,请在unix系统上运行ifconfig
,您将在所连接的LAN上找到您的PC的ip
对于nodejs方面,您可能需要尝试以下方法
server.listen(80,“当前本地ip”)
您能告诉我您是如何启动react应用程序的,以及您是如何从其他设备访问前端的吗?@Mu Majid基本上是,一旦我运行服务器,它就会运行react应用程序构建文件,正如您在代码中看到的那样。我从另一台设备输入在浏览器中运行服务器的计算机的地址,然后进入该站点。基本上,只要对端口5000稍作更改,服务器就可以正常工作。无需执行以下命令即可使其工作:HOST=your_ip npm run start
,但仅运行服务器?