繁体   English   中英

如何将React build文件夹部署到Heroku

[英]How to deploy React build folder to Heroku

我在互联网上四处寻找,并发现此中间文章使用了服务。 该文章指导将packange.json文件修改为此:

"scripts": { 
  "dev": "react-scripts 
  "start", "start": "serve -s build", 
  "build": "react-scripts build", 
  "test": "react-scripts test --env=jsdom",
  "eject": "react-scripts eject", 
  "heroku-postbuild": "npm run build" 
},

现在这在开发中起作用。 我收到控制台日志,说内容已缓存供脱机使用。 谷歌灯塔为我提供了90%以上的高级网络应用程序。 问题是,当我部署到Heroku时,在构建期间它将运行package.json脚本中指定的npm run build。 但是在打开应用程序时,我在Firehouse中获得了21%的性能,并获得了50%的渐进式Web应用程序。 另外,它说服务人员未注册。 这意味着它不在构建文件夹中提供。 另外,我在开发机中运行了npm build,并使用build文件夹部署了TOGETHER项目,但结果仍然相同。 现在,我也绕过另一篇文章,建议使用node.js服务器并将package.json中的脚本更改为此:

start: "node server.js"

我对node.js一无所知,因此我决定在这里咨询以获得更好的选择。

编辑:如果需要服务器命令,例如第二篇中型文章中的node.js中以及下面的Garesh的php代码中-如果有人可以在python(django)中提供类似的代码,那将是很好的

使用以下代码构建代码:

npm run build

现在,将此代码放入index.php文件中:

<?php header( 'Location: /index.html' ) ;  ?>

现在,将此index.php文件放入构建文件夹。

将此构建文件夹复制到其他位置。

现在,使用heroku应用程序配置新文件夹。

然后

git push heroku master

在网上的此评论中找到了答案:

在部署该应用程序之前,请转到:Heroku仪表板>设置> buildpacks>添加buildpacks,然后添加github.com/mars/create-react-app-b ...

或者,您可以在命令行中执行

heroku buildpacks:设置github.com/mars/create-react-app-b ...

如果您不执行此步骤,heroku将部署您的react应用的开发版本(速度很慢),而不是优化的生产版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM