I was able to replicate your issue. The problem is serve. When you run serve -s build it starts the HTTP server. When you go to http://localhost:5000 in your browser it sends an HTTP request for / to serve. It will respond with ./build/index.html, which references assets from /newroot/static/..... But, there is no newroot directory inside your build directory. So it responds with ./build/index.html due to the -s flag.
serve -s build
If you rename the build directory to newroot and run serve . then you will be able to load your application at localhost:5000/newroot but navigation may not work correctly depending on what you are doing.
If you are trying to test the production deployment of your application you should do so in a production-like environment, not locally.
Keep in mind that "homepage" is only used in production build.
Development still serves the app from "localhost:3000/"
Sure but as you can see in my post I'm serving the app in production mode. And this is where the error happens, nothing changes in dev mode.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.