Express.js服务器未启动nodemon后安装



我有一个Express.js服务器,目前设置如下:

  • index.js
const server = require('./server');
const port = process.env.PORT || 5000;
console.log("index.js is called")
server.listen(port, () =>
console.log(`Server is listening on http://localhost:${port}`)
);
  • 服务器.js
const express = require('express');
const routes = require('./routes');
const server = express();
server.use(express.json());
server.use(routes);
console.log("server.js is called")
module.exports = server;
  • package.json的一部分
{ ...
"main": "index.js",
"scripts": {
"test": "jest",
"startDev": "nodemon index.js",
"start": "node server.js"
},
...
}

昨晚我运行了npm install --save-dev nodemon,并在收到一条错误消息后;npm install --save-dev dotenv(我们确实有一个.env文件(,都在我的项目目录的根目录中。之后,我能够使用npm start成功地启动服务器,nodemon工作正常(崩溃时重新启动(。git push连接到GitHub并打开PR与主分支合并后,由于合并冲突,一名团队成员被迫删除服务器的package-lock.json,并合并了分支。我们认为这是可以的,因为package-lock.json将用npm install重建。今天早上在我的main分支中运行git pull并运行npm start之后,我只得到以下输出:

$npm启动

app@1.0.0开始节点服务器.js

$

而不是预期的:

$ npm start

> app@1.0.0 start
> nodemon index.js
[nodemon] 2.0.19
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
Server is listening on http://localhost:5000
$

当我把console.log()语句放在index.jsserver.js中时,我只看到来自server.js的文本。尝试这个stackoverflow主题的各种解决方案并没有解决这个问题。我试过各种其他的";"开始";命令,如npm startDevnpm server.jsnpm index.jsnode startnodemonnodemon startnodemon server.jsnodemon server.js,以及我可能省略的一些命令。我尝试过将"startDev"更改为"node ./bin/www""nodemon ./bin/www",但没有成功。

有人知道为什么服务器没有启动,或者有任何故障排除建议吗?我的队友在他的Mac上没有任何问题(我运行的是Linux Mint 20.2(。

我在其他地方找到了解决方案。我需要运行npm run startDevnpm start不需要run,但如果指定类似startDev的内容,则需要run

最新更新