【发布时间】:2021-11-08 03:55:39
【问题描述】:
我正在设置服务器,每次尝试运行 npm start 时都会出现以下错误:
[nodemon] 2.0.12
[nodemon] to restart at any time, enter
`rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
[nodemon] clean exit - waiting for changes before restart
我在 StackOverflow、YouTube 甚至 Reddit 等网上进行了研究。但是我不明白为什么会收到此错误,因为我添加了app.listen()。我还运行了npm update以确保我拥有最新的 npm 版本。
此外,我似乎需要恢复到旧版本的 Nodemon,但我想知道是否有更好的方法来使用更新的版本?
这是我的代码的样子:
index.js:
import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";
const app = express();
app.use(express.json({ limit: "30mb", extended: true }));
app.use(express.urlencoded({ limit: "30mb", extended: true }));
app.use(cors());
// database connection string: PLEASE NOTE THAT I HAVE REPLACED MY PASSWORD WITH THE PROPER ONE HERE
const CONNECTION_URL =
"mongodb+srv://admin2021:<password>@cluster0.haf0y.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
const PORT = process.env.PORT || 5000;
// connect to database
mongoose
.connect(CONNECTION_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() =>
app.listen(PORT, () => console.log(`Server running on port: ${PORT}`))
)
.catch(() => (error) => console.log(error.message));
package.json:
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"start": "nodemon ./index.js"
},
// etc.
}
请注意,我尝试将 nodemon ./index.js 替换为 nodemon index.js,但我得到了同样的错误。
感谢任何帮助。
【问题讨论】:
-
这是什么错误? nodemon 已启动并正在运行。检查localhost:<port>。但看起来它没有得到正确的 index.js。如果您的端口没有运行,请分享您的文件夹结构
-
嗨@sojin 谢谢你的回答,它没有运行。如果它正在运行,它会显示“服务器在端口上运行:5000”,因为我已在 index.js 中对其进行了配置。无法访问 localhost:5000。文件夹结构很简单,我在同一个文件夹中有3个文件,分别是index.js、package.json和package-lock.json。
-
.catch(() => (error) => console.log(error.message));是错误的,应该是.catch((error) => console.log(error.message));。现在看看您是否收到错误消息 - 可能端口 5000 已在使用中或类似的东西。 -
嗨@Bergi 哦,哇,这很管用。我对这一切都很陌生,谢谢你的帮助!
标签: javascript node.js express npm nodemon