【发布时间】:2021-04-01 20:18:47
【问题描述】:
我试图在我的本地网络上打开一个本地网站,我可以从我网络中的每个设备访问该网站。
我使用 React 作为前端,Nodejs 作为后端,mongodb 是我的数据库(本地)。
在运行一切的计算机上,我可以通过我在本地网络上的地址进入该站点并查看数据库中的数据,但是一旦我通过同一网络上的另一台计算机进入该站点,我就会看到该站点但不是来自数据库的数据。
我该如何解决这个问题?
我将此代码用于节点 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 应用程序的,以及您如何从其他设备访问前端?
-
@Mu-Majid 基本上,一旦我运行服务器,它就会运行反应应用程序构建文件,正如您在代码中看到的那样。在另一台设备上,我通过在浏览器中输入运行服务器的计算机地址进入该站点