这是我第一次用heroku部署node.js服务器,apis在本地很有趣,但是现在看起来heroku不会识别nodemon(sh:1:无恶魔:没有找到),这似乎是一个流行的问题,在论坛上,但我尝试了每一个评论,什么都没有。result
这是我包裹。杰森:
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"start":"nodemon server",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.0.1",
"express": "^4.18.1",
"mongodb": "^4.8.0"
},
"engines":{
"node":"14.x"
}
}
这是索引。js:
import app from "./server.js"
import mongodb from "mongodb"
import dotenv from "dotenv"
import jobsDAO from "./dao/jobsDAO.js"
dotenv.config()
const MongoClient = mongodb.MongoClient
const port = process.env.PORT || 5000
MongoClient.connect(
process.env.JOBSFINDER_DB_URI,
{
wtimeoutMS: 2500,
}
)
.catch(err => {
console.error(err.stack)
process.exit(1)
})
.then(async client =>{
await jobsDAO.injectDB(client)
app.listen(port, () => {
console.log("listening on port",port)
})
})
这是服务器。js:
第一个
2条答案
按热度按时间rqqzpn5f1#
依赖项中缺少nodemon。请运行
npm install nodemon
将其添加到package.jsonyvfmudvl2#
依赖项中缺少nodemon,需要使用
npm install nodemon -D
添加(-D用于将其保存到dev依赖项)Nodemon通常用于未部署应用程序的开发环境。
看起来您是在index.js而不是server.js中启动服务器
我建议如下
npm install nodemon -D
个1.将脚本更改为:
"scripts": { "start":"node index.js", "start:dev": "nodemon index.js" "test": "echo \"Error: no test specified\" && exit 1" },
要在本地运行应用程序,您可以用途:
npm run start:dev
这将使用nodemon并在保存更改时刷新服务器。npm start
这将运行服务器(对生产有用)