Node.js Heroku应用程序不断崩溃,因为端口未定义
这是我在server.js文件中的设置:Node.js Heroku应用程序不断崩溃,因为端口未定义,node.js,express,heroku,Node.js,Express,Heroku,这是我在server.js文件中的设置: const express = require('express'); const app = express(); const host = '0.0.0.0'; const PORT = process.env.PORT || 5001; app.listen(PORT, host, () => { console.log(`RABC Server is listening on port ${PORT}!`) }); app.use
const express = require('express');
const app = express();
const host = '0.0.0.0';
const PORT = process.env.PORT || 5001;
app.listen(PORT, host, () => {
console.log(`RABC Server is listening on port ${PORT}!`)
});
app.use(express.static('public'))
这是我的proc文件中的内容:
web:nodemon server.js
这是我收到的错误:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
这是我记录端口时得到的结果:
端口的值为:未定义
在我的package.json脚本中,我有:
"scripts": {
"start": "node server.js",
"build": "sanity build"
}
我没有.env文件,也不确定是否应该有一个,以及里面应该有什么
当我运行“heroku local web”并在本地托管时,一切正常
这是我第一次部署或托管应用程序。更新
server.js
to
const express=require('express');
常量app=express();
const PORT=process.env.PORT | | 5001;
应用程序使用(express.static('public'))
应用程序侦听(端口,()=>{
log(`RABC服务器正在侦听端口${port}!`)
});
移动应用程序。听
到最后
这只是一种约定,即使用逻辑和安全的初始化顺序,在启动服务器之前先配置服务器
参考:
另外,将Procfile更新为
web:npm run start
老兄,太感谢你了,这简直要了我的命,你不知道这对我有多大帮助。太棒了!我很高兴能帮上忙!干杯