node.js - 在部署在 heroku 上的 MERN 应用程序上获取 404
问题描述
我尝试在 Heroku 上部署我的 MERN 堆栈应用程序,但现在当我尝试启动该应用程序时得到 404。相同的日志如下:
2020-02-21T04:43:37.862088+00:00 heroku[router]: at=info method=GET path="/" host=task-reminder25.herokuapp.com request_id=d549deca-d280-4db4-8549-3579082e903c fwd="45.118.159.123" dyno=web.1 connect=0ms service=3ms status=404 bytes=403 protocol=https
2020-02-21T04:43:37.862479+00:00 app[web.1]: 10.63.151.139 - - [21/Feb/2020:04:43:37 +0000] "GET / HTTP/1.1" 404 191 "https://dashboard.heroku.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
我也添加了环境变量。我的 index.js(Backend) 的内容是:
//Serve static assets in production
if(process.env.NODE_ENV==='production') {
//Set static folder
app.use(express.static(`../client/build`));
app.get('*',(req,res)=>{
res.sendFile(path.resolve(__dirname, '..','client', 'build','index.html'))
});
}
如果有人能帮我解决这个问题,那就太好了。 编辑:如果有人想查看它,我已将链接添加到我的 Github 存储库。
解决方案
如果已安装,请尝试删除 nodemon。
"scripts": {
"start": "node app.js" // node your main file name
},
推荐阅读
- single-sign-on - 与 SSO 提供商联系的必要信息
- javascript - 为什么让变量可以在 IIFE 中访问而 var 不是?
- javascript - 动画虚线正确连接部分
- reactjs - 如何在反应中直接作为常量传递道具?
- android - 如果多次调用 SpannableStringBuilder 会导致额外的空白
- android - 如何在 android 中处理 AdMob onAdFailedToLoad?
- c# - Blazor 服务器页面的多个模型视图
- ios - ios ionic 3中本地通知上的文件插件无法播放声音
- javascript - 事务中的 Firestore 数据争用
- ruby-on-rails - 如何在运行脚本中复制 rails 控制台输出样式?