Javascript 创建react应用程序使用自定义服务工作程序而不弹出
我有一个正在尝试转换为使用React的现有应用程序。我用全新的Javascript 创建react应用程序使用自定义服务工作程序而不弹出,javascript,reactjs,webpack,service-worker,Javascript,Reactjs,Webpack,Service Worker,我有一个正在尝试转换为使用React的现有应用程序。我用全新的create react应用程序one(使用react脚本1.0.13)复制了它的功能 我想使用现有的服务人员。我注意到CRA创建了自己的服务人员;webpack配置中有代码(使用swebpackplugin)创建一个未绑定的模块,service worker.js。所有其他JS模块都捆绑在一起 据我所知,我不能复制我现有的service workerexisting service worker.js并尝试导入它,因为所有的js模块
create react应用程序
one(使用react脚本
1.0.13)复制了它的功能
我想使用现有的服务人员。我注意到CRA创建了自己的服务人员;webpack配置中有代码(使用swebpackplugin
)创建一个未绑定的模块,service worker.js
。所有其他JS模块都捆绑在一起
据我所知,我不能复制我现有的service workerexisting service worker.js
并尝试导入它,因为所有的js模块都捆绑在一起
我不想弹出。
我使用了create react app
来定制react脚本
,并在网页包配置中使用不同的逻辑,这将允许我使用现有的服务人员,而不是它使用swprecacheebpackplugin创建的服务人员
。。。然而,我不知道该怎么做。这是我第一次使用React和webpack
有人能给我指出正确的方向,帮我在React中使用现有的服务人员,而不弹出吗?我没有弹出
您可以将工作人员放置在公共
文件夹中,然后您必须自己进行传输和缩小
如本文所述这里是另一种不弹出的解决方案:
有一个专门为此用例构建的npm库。它叫
大部分详细信息都在npm页面中,但简单地说,您只需要安装库(npm i—save cra append sw)
对package.json进行一些更改:
"start": "react-scripts start && cra-append-sw --mode dev ./public/custom-sw-import.js",
"build": "react-scripts build && cra-append-sw --skip-compile ./public/custom-sw-import.js"
最后,在您的公用文件夹中创建一个名为custom-sw-import.js的文件,您在其中编写的所有服务工作者代码将简单地附加到cra的服务工作者中
我可以验证这一点,因为我应用了相同的原理来制作我的网站,该网站提供了PWA提供的所有功能的演示
我还发现,如果你想了解更多,这篇博文会很有帮助。第4版的好消息!:
从CreateReact应用程序4开始,您可以完全控制
通过创建您自己的服务工作程序,自定义此服务工作程序中的逻辑
src/service-worker.js文件,或自定义
cra模板pwa(或cra模板pwa类型脚本)模板
()