-
-
Notifications
You must be signed in to change notification settings - Fork 27k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flask, Build, and accessing the Static directories #3976
Comments
This seems like a question about Flask more than about CRA. So I suggest asking it on Flask forums. We don't really know Flask API and can't advise about that. That said I don't see the code for serving actual static files. Your handlers appear to always serve |
Regarding your question re where the problem might be, while your suggestion might be an issue, that's actually why I'm asking here. It finds the index.html and it finds the static js/css files. Given that, I would think it should be loading the React app from the client as well. I'm instead just seeing the index.html with the noscript tag and nothing on the page. It doesn't seem like a PUBLIC_URL issue as it's talking to the server and getting the files. |
Sorry, it's hard to say more without seeing an example. Your explanation isn't 100% clear in regards to what it is exactly that you see. |
@cinjon any luck with this? I'm battling with the exact same problem. |
It ended up being an unrelated issue somewhere else in the code. |
@cinjon My flask example with CRA build |
Hi there. I'm having an awful time trying to figure out what I've messed up.
The result of running
npm run build
is that I have a production directory atfoo/app/build/
. This includes all of the good stuff, e.g.static/
,index.html
,manifest.json
, etc. My flask app is served fromfoo/__init__.py
and declared withapp = Flask(__name__, static_folder="./app/build/static", template_folder="./app/build")
.As usual, the index.html in
app/build
is the entry point, and it loads React at/static/js/main.<hash>.js
. This works as expected. So does the/static/css/*
files and so forth. What I mean by that is that if I try to serve localhost from the build, then I can visit http://localhost:5000/static/js/main..js and it will load the minified js.However, nothing else in foo/app/build can be seen and loaded, even though the server is returning 200s when I request the root:
This includes the inex.html, service-worker.js, the favicon.ico, and the manifest.json. If I run
npm start
and use a proxy to talk to the client at port 3000 and the server at port 5000 (on localhost), then everything works. That of course won't fly for production.Any idea what's going on?
The text was updated successfully, but these errors were encountered: