Failed to register a ServiceWorker (Flutter)
Solution 1
I solved my problem by changing the index.html file
from
<base href="/">
to
<base href="/directory_name/">
Solution 2
Looks, like you are trying to run the project from the project_root/web
folder.
If you just start a webserver here (for example, by using python -m http.server 8088
), the application will start and even will be working partially.
But compiled web app located in project_root/build/web
. Try to run your webserver in that folder.
Adriel
Web developer professionally and also game developer on free time. Technologies: C# Javascript / Typescript / Jquery HTML / CSS Unity 3D
Updated on December 15, 2022Comments
-
Adriel over 1 year
I'm working on a Flutter Web App and today I got these errors:
A bad HTTP response code (404) was received when fetching the script.
Uncaught (in promise) TypeError: Failed to register a ServiceWorker for scope ('https://adrieldf.github.io/') with script ('https://adrieldf.github.io/flutter_service_worker.js'): A bad HTTP response code (404) was received when fetching the script.
The only thing "different" that I added to the code was a dependency for the Share library, but I don't think that that is the problem.
Here is the interesting thing, I've got the app hosted on Github Pages and after every commit I have a action that builds the web app. After the build, when I try to access it doesn't load and the errors appears. But building it and running it locally works normally.
Here is the source code if you want to check: https://github.com/Adrieldf/allthewidgets The website link is in the repo description.
-
Adriel about 4 yearsyeah but the file is on the root of the branch that is hosted on github pages. github.com/Adrieldf/allthewidgets/tree/gh-pages (this one) and the file is generated automatically by the workflow that builds the web app. Maybe it is a problem with flutter?
-
pate about 4 years@Adriel I wouldn't say that it's a problem with Flutter. There's a problem in some configuration of the various build tools used which causes the Service Worker script file to be located in a place that is different to the one the app expects.
-
Marc Van Daele over 2 yearsThank you! This indeed fixed the issue!