【发布时间】:2018-11-27 16:43:34
【问题描述】:
我使用的是 MEAN 堆栈,并且我更改了 MongoDB 和 Angular 的托管 IP 地址,以便可以远程访问该站点。现在,我的 Node.JS/Express 后端无法正常工作。脚本编译,它显示“服务器已启动”,但端口 3000 上没有运行 http 服务器。我不知道是否可以输入错误检查代码..
var express = require('express');
var mongoose = require('mongoose');
var cors = require('cors');
var bodyparser = require('body-parser');
var passport = require('passport');
var app = express();
var route = require('./route/routes.js');
require('./model/players');
require('passport');
mongoose.connect('mongodb://192.168.1.3:27017/elo', {useNewUrlParser: true});
mongoose.connection.on('error',(err) => {
console.log(err);
});
const PORT = 3000;
app.use(cors());
app.use(bodyparser.json());
app.use(passport.initialize());
app.use('/api', route);
app.use(function(req, res, next) {
var err = new Error('Not found');
err.status = 404;
next(err);
});
app.use(function(err, req, res, next) {
if (err.name === 'UnauthorizedError') {
res.status(401);
res.json({"messege" : err.name + ": " + err.message});
}
});
app.get('/',(req, res) =>{
res.send("App Works");
});
app.listen(PORT, ()=>{
console.log("Server started");
});
【问题讨论】:
-
您说您更改了 Angular 的 IP,您的意思是什么?您是否尝试通过 IP 地址访问此服务器?
-
我看到您在哪里更改了猫鼬的连接,但我没有看到您在哪里更改节点服务器的连接。您是否检查过它是否仍以 localhost 运行?看看这个stackoverflow.com/questions/15003947/…
-
我使用 ng serve --host=IP.ADDRESS 来运行 Angular 客户端。我对 MongoD 使用了同样的东西。我不知道如何对 nodemon 做同样的事情,我的研究只是表明“看到这一切并不重要”
-
我可以使用 nodemon 运行不同的代码块,并让它成功监听 3000 端口,所以这不是环境问题......