Best way to deploy React projects

I have been trying to build my portfolio, and so far everything has been on Github Pages. However, Github Pages isn’t meant to display more complicated projects that have React or NodeJS. Could someone direct me to a good way to deploy a React project?

What I’m hoping to get feedback on:

  1. Best service to do it with (Heroku? AWS? etc?) that is free/cheap and user friendly
  2. A good tutorial on how to do it
  3. Or good documentation of how to do it
  4. Or a high-level overview of what I would need to do deploy it myself

Thanks in advance,

Trevor R.

True, Node is a problem, but you can deploy static React sites. You just have to build them into dist files and copy them to your site. I used to have several on mine in separate folders.

Best service to do it with (Heroku? AWS? etc?)

Sure, those are good sites. Heroku will even let you set up some servers. AWS (I think) will charge you (a very tiny amount) for servers but you should be able to drop a static site into an S3 bucket for free.

I’m sure there are plenty of youtube videos showing how to do this on these sites or on others.

1 Like

What are your thoughts on serving static sites for a portfolio? Wouldn’t a potential employer want to see the source code on your GitHub repository?

I’m not sure what you mean. When I stay static site, I mean a site without a dynamic server and without SSR. It’s just static files that get downloaded and run in the client’s browser - the server just serves the files. That is a static site.

Whether or not a hirer can see your code is a different issue. One option would be an online IDE like CodePen, Repl, etc., but that I think looks unprofessional.

On my portfolio site, I listed my projects and each project card had a link to the running app and a link to the github repo where they could see the code.

I guess I may be mistaken. My understanding of a “static site” was that there wasn’t any server involved. Sounds like I was incorrect. But your solution for having a link to both answers my question.

I mean, there is always a server involved. It’s just that with a static site it is in “dumb” mode, not running any special code. If I have a static site www.foo.com, and you call it, your browser calls that server. That server says, “OK, on that route, I send this html file”. It sends that to you and then you request the other files you need. There is no server app running other than the generic one that serves files. (There is probably a better way to explain this.)

The difference is that if I write the server, it handles deciding what to send. It may look at your cookies or handle login, etc. And you can also write a static site that interacts with microservices that you have written and are being served elsewhere.