Deploy a (Create) React App
An application designed with React is essentially made of static assets for its production part.
If the development cycle uses Node.js HTTP server to serve the pages/views with all the comfort of the development tools (hot-reloading, etc.), it is not mandatory for its production. A simple web server](https://create-react-app.dev/docs/deployment) will do the trick:
Set up your favorite HTTP server so that a visitor to your site is served index.html, and requests to static paths like /static/js/main.[hash].js are served with the contents of the /static/js/main.[hash].js file.
On the alwaysdata side
Just create a Static files site pointing to the directory of your choice (e.g.
www/my-app
).
On the development side
Start by adding an entry in your package.json
file telling the build the final URL of your project in
production, e.g.:
"homepage": "https://[account].alwaysdata.net/my-app"
In your local development environment, run the build task. If you used a tool like Create
React App to bootstrap your project, it is available using the npm task
npm run build
. This command will produce static assets in a build
directory.
You can then deploy these files resulting from the build to the directory you specified earlier when you created the site, for example by using rsync/SSH :
rsync -rz --mkpath build/ [account]@ssh-[account].alwaysdata.net:www/my-app