Question

How to deploy Express server with React frontend to the App Platform?

Posted March 1, 2021 406 views
Node.jsAPIReact

I have a Express server (server.js) and a React app as the client in one project.
the directory structure is like:

App
|_client
|_server.js

the primary packge.json has these commands:

  "dev": "secrethub -- run nodemon server.js",
    "start": "secrethub -- run node server.js",
    "deploy": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client",

ive adjusted my custom build script inside the “Component” tab in the digital ocean control panel multiple times. ive tried just “npm run deploy” which worked, for the front end only. the api doesnt run.

if i run npm run deploy && npm run start then it just lags on the build phase and never finishes…

how do i deploy this to run the server as well as build the frontend?

edited by kamaln7

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

I am stumbling a bit blindly through this (i.e. I just try a bunch of things until something works, but I don’t necessarily understand why or why not), but this seems to be working for me:
On Settings Page:
Set Build command to npm run deploy
Set Run command to node server.js

Where deploy is a similar script to npm install and npm build