使用PHP API和APache服务器在Digitalocean上部署ReactJs应用程序

时间:2019-05-12 12:21:48

标签: node.js reactjs npm digital-ocean npm-scripts

几天来我一直在尝试在Digital ocean上部署我的第一个react js应用程序,但没有成功。 这是一个create react应用,它已连接到运行Apache服务器的PHP API

我已经使用npm run build命令成功构建了我的应用程序。当我尝试从浏览器访问build文件夹时,我只会得到一个空白页面。为此,我只需访问浏览器的路由即可访问domain_name.com/myapp/build(仅出于测试目的)。

当我运行npm start时,可以在domain.com:3000上以开发模式访问应用程序的主页。我的package.json的脚本部分如下所示

"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject",
  "add-locale": "lingui add-locale",
  "flow": "flow",
  "start:prod": 'node dist/app.js'
},

我的服务器正在https://domain_name.com上运行,但是当我执行https://domain_name.com:3000时,我无法访问应用程序的开发版本,但可以使用domain_name.com:3000访问开发版本。

围绕这些问题的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

运行npm时,您将启动webpack-dev-server,该服务器在3000端口上运行并托管您的源代码。

构建React应用程序时,只需准备一个js文件,该文件应与API文件一起托管在Apache服务器中。

您需要将该index.html文件中的js文件包含在结构中,并将<script src="path/to/js">包含在该文件中。

让我知道您是否还有任何疑问。

更新:

要解决路由问题,请阅读the official deployment manual并搜索.htaccess

P.S:也许您发现此https://gist.github.com/ywwwtseng/63c36ccb58a25a09f7096bbb602ac1de有用。