应用程序部署到Heroku"/>
需要帮助调试将全栈应用程序部署到Heroku
我一直在尝试将我的全栈chatkit Messenger应用程序从localhost部署到Heroku的生产环境中。我不确定必须在我的代码中进行哪些更改才能使其在heroku上正常运行,因为我当前遇到404“未找到”错误。我添加了一个Procfile和一个App.json文件作为推荐。我不确定是应该怪我的package.json的开始脚本,还是需要更新代码中HTTP请求的URL(从本地主机到heroku的站点URL)。或者,如果我需要将应用程序推送到生产环境并下载静态文件,我对此不太有经验。该代码托管在我的github()上。如果有人可以解释我做错了什么,请多多关照。预先感谢。
`{
"name": "react-chat-tutorial",
"version": "0.1.0",
"private": true,
"dependencies": {
"@pusher/chatkit-client": "^1.0.2",
"@pusher/chatkit-server": "^1.0.1",
"cors": "^2.8.4",
"express": "^4.16.3",
"lodash": "^4.17.15",
"lodash.template": "^4.5.0",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-scripts": "1.1.1",
"concurrently": "^3.5.1"
},
"devDependencies": {
"concurrently": "^3.5.1"
},
"scripts": {
"start": "node server.js"
},
"engines": {
"node": "10.14.1",
"npm": "6.4.1"
}
}
`
回答如下:尝试将内部版本放在项目的根目录,并将代码更改为:
app.use(express.static('build'))
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'build', 'index.html'))
})
要运行构建,您需要将脚本添加到package.json:“ build”:“ react-scripts build”
将您的静态路由http://localhost:3001/users更改为“ / users”,因为后端和前端在同一服务器上。
更多推荐
需要帮助调试将全栈应用程序部署到Heroku
发布评论