You may not need a service worker for your application. If you are creating a project with create-react-app it is invoked by default
Service workers are well explained in this article. To Summarise from it
A
service workeris a script that your browser runs in the
background, separate from a web page, opening the door to features
that don’t need a web page or user interaction. Today, they already
include features likepush notificationsandbackground syncand have
ability to intercept and handle network requests, including
programmatically managing a cache of responses.In the future, service workers might support other things like
periodic syncorgeofencing.
According to this PR to create-react-app
Service workersare introduced with create-react-app via
SWPrecacheWebpackPlugin.Using a server worker with a cache-first strategy offers performance
advantages, since the network is no longer a bottleneck for fulfilling
navigation requests. It does mean, however, that developers (and
users) will only see deployed updates on the “N+1”
visit to a page, since previously cached resources are updated in the
background.
The call to register service worker is enabled by default in new apps but you can always remove it and then you’re back to regular behaviour.