打开后在heroku中托管的React项目失败

时间:2019-06-04 17:04:03

标签: reactjs heroku deployment

因此,使用位桶管道将React项目部署到heroku上运行良好,但现在似乎无法使heroku打开该项目,而在package.json中没有脚本npm start,建议使用创建一个文件Procfile,它是txt,内部有

  

web:index.html

在我的Webpack中:

entry: {
    bundle: './src/index.js'
},
output: {
    publicPath : '/',
    path: path.resolve(__dirname,'build'),
    filename: '[name].[chunkhash].js'
},

和package.json中的

 "scripts": {
    "heroku-prebuild": "npm install --only=dev",
    "clean": "rimraf build",
    "build": "npm run clean && webpack -p",
    "serve": "webpack-dev-server --progress --colors"
  },

在heroku日志中得到:

  

heroku [路由器]:at =错误代码= H10 desc =“应用程序崩溃”方法= GET路径=“ /”   host = projectname.herokuapp.com   request_id = a2bc33da-f938-4d7b-9395-b40442f9b2c0 fwd =“ 88.157.88.35”   dyno = connect = service = status = 503字节= protocol = https

     

heroku [路由器]:at =错误代码= H10 desc =“应用程序崩溃”方法= GET   path =“ / favicon.ico” host = projectname.herokuapp.com   request_id = b2de2bdf-528e-4f97-9fe9-7f313e025ebd fwd =“ 88.157.88.35”   dyno = connect = service = status = 503字节= protocol = https

不使用create-react-app,并且在可能的情况下不希望添加节点表述以指向React项目https://blog.bitsrc.io/react-production-deployment-part-3-heroku-316319744885

所以我需要指向Procfile中的build / index.html吗?还是所有其他示例所看到的关于create-react-app和node express的其他方式。

1 个答案:

答案 0 :(得分:0)

能够在下面的blog中找到解决方案,如前所述,heroku默认运行npm start命令(如果缺少Procfile),或者在Procfile中添加行web: npm start并按照博客package.json中的start命令运行serve -s build,其中serve是一个软件包,用于将构建文件夹指向包和index.html文件所在的位置,现在它已经可以正常工作了。 Heroku应该有一个默认选项来指向默认文件夹..但是所有尝试过的尝试都失败了...所以感谢@Bernard Bado和他的博客指出了解决方案。