我正在使用App Platfrom将我的应用程序部署到digitalOcean,我的应用程序结构如下:
client
├── /public
├── /src
├── package-lock.json
└── package.json
index.js // this the index of the express server
routes
└── api.js
package-lock.json
package.json
字符串
客户端文件夹是react应用程序,根文件夹是express服务器。我已经遵循了this tutorial关于如何部署express服务器,其中包括react应用程序,通过使用express服务器提供react文件:
app.use(express.static(path.join(__dirname, 'client/build')));
型
当我将应用程序部署到heroku时,一切都很好,因为react前端是由服务器从客户端文件夹提供的,后端API工作正常,但我想将其部署到digitalocean,所以重要的部分是在根目录中的packages.json中定义脚本,看起来像:
"scripts": {
"start": "node index.js",
"digitalocean-build": "cd client && npm install && npm run build"
}
型
但与DigitalOcean一样,在部署前配置应用程序时,提供了两个选项
Build Command // i used here npm run digitalocean-build
Run Command //i used npm run start
型
部署完成后,当我检查URL时,只有服务器索引正在运行,但服务器和React前端都没有运行。我已经在这方面挣扎了近两天,我敢肯定有一些我还没有涵盖它。我真的很感激任何帮助。
1条答案
按热度按时间ubof19bj1#
尝试将此命令作为构建命令。
字符串