几天来我一直在尝试在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访问开发版本。
围绕这些问题的任何帮助将不胜感激。
答案 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有用。