Can I deploy my ReactJS app on a regular host?

20,152

Solution 1

I use webpack to bundle my react app. So at the end react app will be:

  • one bundle (rarely more if you use dynamic bundle loading - probably not), that is just a javascript file
  • your index.html that includes this file at the end of body
  • and your .css that you can set in principle in one file (or separate folder with several files) and include at the top of your index.html

Regarding .css there are several better ways how to include, but you can likely start with simple setup as mentioned above.

So you just put these 3 things on your server, and your app is available at index.html.

P.S. Don't know what is Ipage, and haven't worked with create-react-app.

Solution 2

Run 'npm run build' from your command line folder where your project is located. Copy files from the 'build' folder that is created and upload them in your host's root folder or equivalent. Takes less than a minute.

Share:
20,152
Julio
Author by

Julio

Updated on July 05, 2022

Comments

  • Julio
    Julio almost 2 years

    I'm new to React, and I've seen many guides where people teach you how to deploy your react app on services like digital ocean, heroku, GitHub Pages, aws. But I'm wondering if I can deploy my React app (create-react-app) which consists of only front end in a host service like 000webhost or Ipage? Because a person wants me to design a website, and he says that he already has a domain name and a host service in lpage.

    Thanks in advance

  • Julio
    Julio almost 7 years
    But can you deploy your app on regular hosts doing that and just uploading the files to the root? I mean, services that are not virtual servers like heroku, digital ocean and others like these.
  • croraf
    croraf almost 7 years
    Well, your host must be publicly visible, and has a server that serves files from some location. This location is root. You put the above stuff in the root and they are then accessible as a react app with myhost.com/index.html. Or you can put your files in some folder, and instruct the server that this folder is the root for the app and that myhost.com/myapp1/ looks at the root of that folder. Then index.html will be accessible at myhost.com/myapp1/index.html.
  • Julio
    Julio almost 7 years
    What do you mean that it should has a server to serve the files? Can you recommend me some hosts in which you have done this?
  • croraf
    croraf almost 7 years
    I've used Heroku to act as a plain host. You can just deploy index.html, bundle.js and css to heroku and it should work (maybe some issues, but not expected). On deploy tab in heroku you just pull these 3 things from github.
  • Julio
    Julio almost 7 years
    Thank you! I just tested a simple app in 000webhost, and it works like a charm! Just as a suggestion, you should give create-react-app a try. Is a package that you can find in npm and creates a ReactJS app ready to be used. For further visitors, I used create-react-app, and then, I just executed npm run build and uploaded all my files to public_html folder in 000webhost (root folder) and it works. Watch out that your files uploaded to the static folder are well placed, if not, only you'll see is a white screen.