React项目中的registerServiceWorker的作用

在公司的React前端项目中,发现有一个registerServiceWorker.js文件, 很久都没弄明白这个文件是干什么用的,查询了一些资料后,了解了一些

service worker是在后台运行的一个线程,可以用来处理离线缓存、消息推送、后台自动更新等任务。

registerServiceWorker就是为react项目注册了一个service worker,用来做资源的缓存,这样你下次访问时,就可以更快的获取资源。而且因为资源被缓存,所以即使在离线的情况下也可以访问应用(此时使用的资源是之前缓存的资源)。

但有一点要注意,registerServiceWorker注册的service worker 只在生产环境中生效(process.env.NODE_ENV === 'production'),所以开发的时候,可以注释掉。

当然了,在生产环境中,你也可以选择使用或者不适用这个功能