Deploy create-react-app on Google App Engine
As a result of searching the web many times, I found that the routing system of my react app was the cause.
As this post states, we need to be careful about authoring app.yaml.
If we write the following item first, GAE returns build/index.html
for all queries, including access to /static/js
and /static/css
.
- url: /
static_files: build/index.html
upload: build/index.html
create-react-app
creates a build folder and static subfolders for npm run build
.
Thus, I had to write my app.yaml more specific like this:
handlers:
- url: /static/js/(.*)
static_files: build/static/js/\1
upload: build/static/js/(.*)
- url: /static/css/(.*)
static_files: build/static/css/\1
upload: build/static/css/(.*)
- url: /static/media/(.*)
static_files: build/static/media/\1
upload: build/static/media/(.*)
- url: /(.*\.(json|ico))$
static_files: build/\1
upload: build/.*\.(json|ico)$
- url: /
static_files: build/index.html
upload: build/index.html
- url: /.*
static_files: build/index.html
upload: build/index.html
Can you check this document - https://medium.com/tech-tajawal/deploying-react-app-to-google-app-engine-a6ea0d5af132
This will help you. I have deployed my app using same steps.
sample yaml file
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
static_files: build/index.html
upload: build/index.html
- url: /
static_dir: build
Reference link - https://medium.com/google-cloud/how-to-deploy-a-static-react-site-to-google-cloud-platform-55ff0bd0f509
Thank you!