如何解决本地主机:3000 未从 node.js 应用程序打开
我已经设置了一个使用 Express、nodemon 和 Mongoose 运行的小应用。
几个小时前,它运行良好 - 我认为我当时没有更改任何代码。如果我有,那一定是意外。
但是每当我尝试访问我的本地主机以访问此特定应用程序时,它都不会加载。它只是处于这种加载状态。没有错误出现,控制台清晰,并显示“在端口 3000 上运行”。
如果我尝试其他应用程序,它们在本地主机上运行良好,所以一定是代码 - 但考虑到没有错误消息,我什至不知道从哪里开始。
这是我的代码:
const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
var encrypt = require('mongoose-encryption');
require("dotenv").config();
const app = express();
mongoose.connect(process.env.MONGO_URI,{useNewUrlParser: true,useUnifiedTopology: true});
const SubmitDebtSchema = new Schema ({
balance: [{
balanceDate: Date,newBalance: Number
}],monthly: Number,date: String,autoBalance: String
});
const encKey = process.env.ENCKEY;
const sigKey = process.env.SIGKEY;
SubmitDebtSchema.plugin(encrypt,{ encryptionKey: encKey,signingKey: sigKey,excludeFromEncryption: ['autoBalance'] });
const SubmitDebt = mongoose.model('submitdebt',SubmitDebtSchema);
app.get("/",async (req,res) => {
const debts = await SubmitDebt.find({ autoBalance: true });
debts.map(debt => {
console.log(debt.id);
const debtDate = parseInt(debt.date);
const finalDate = new Date(new Date().setDate(debtDate));
console.log(finalDate);
const todaysDate = new Date();
console.log(todaysDate);
const debtBalance = debt.balance[debt.balance.length - 1].newBalance;
console.log(debtBalance);
const debtRepayment = debt.monthly;
console.log(debtRepayment);
const updatedBalance = { balanceDate: new Date(),newBalance: debtBalance - debtRepayment };
console.log(updatedBalance);
if (todaysDate < finalDate) {
console.log("Balance shouldn't change.");
}
if (todaysDate >= finalDate) {
console.log("Balance should change");
SubmitDebt.findById(debt._id,(err,submitdebt) => {
if (!submitdebt) {
console.log("Unable to find entry to edit.");
}
else {
submitdebt.balance.push(updatedBalance);
submitdebt.save().then(submitdebt => {
console.log("Debt successfully updated.");
})
.catch(err => {
console.log("Debt unsuccessfully updated.");
});
}
});
}
res.send(debts);
});
});
const PORT = process.env.PORT || 3000;
app.listen(PORT,() => {
console.log(`Lemio is running on port ${ PORT }`);
});
谁能找出我的本地主机无法用于此应用程序的任何原因?感觉我遗漏了一些明显的东西!
解决方法
一些想法:
- 终止进程并重新开始;
- 检查您的端口是否正忙于其他应用程序;
- 检查
mongod
是否正在运行。
链接:
How To Use ps,kill,and nice to Manage Processes in Linux
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。