service - 工兵和服务人员
问题描述
这更像是一个服务工作者的问题,尽管它可能更具体到Sapper。我真的不知道,因为我是第一个管理 Service Worker 的人,我几乎没有使用过它们,而且经常觉得它们很痛苦。
基本上,无论我做什么,我都无法让 localhost:3000 停止加载应用程序的旧副本。我以各种方式注销了服务人员,包括尝试以编程方式注销。我已经清除了缓存,甚至清除了浏览器中的所有浏览数据。我的 Sapper 开发环境中的服务器未运行。
Brave 正在发生这种情况,但在 Opera 中表现相同,并且看起来像是一般的 Chromium 场景。我不使用 Firefox 或 Safari,但可能很快会进行测试,看看那里会发生什么行为。
这是一个片段,展示了我如何尝试注销 Service Worker。
解决方案
我使用了这个像魅力一样的小技巧。在您的 中,对象中rollup.config.js
有一个对象。serviceWorker
outputs
serviceworker: {
input: config.serviceworker.input(),
output: config.serviceworker.output(),
plugins: [
resolve(),
replace({
"process.browser": true,
"process.env.NODE_ENV": JSON.stringify(mode),
}),
commonjs(),
!dev && terser(),
],
preserveEntrySignatures: false,
onwarn,
},
dev
如果尚未声明,则在顶部定义一个变量:
const dev = process.env.NODE_ENV === "development";
现在像这样更改您的服务工作者配置:
serviceworker: !dev && {
input: config.serviceworker.input(),
output: config.serviceworker.output(),
plugins: [
resolve(),
replace({
"process.browser": true,
"process.env.NODE_ENV": JSON.stringify(mode),
}),
commonjs(),
!dev && terser(),
],
preserveEntrySignatures: false,
onwarn,
},
推荐阅读
- javascript - 如何遍历 SQL 数据并使用 ChartJS 绘制图形?
- javascript - jQuery最接近()获取具有特定类或ID的行
- java - 仅使用递归将数字从 1 设置为所选数字
- android - 我应该怎么做才能使 webview 调整内容中的图像大小以适应移动屏幕
- javascript - JS - 如何在 OnePage 上使用 sessionStorage?
- python-3.x - How to plot a different candlestick graph on the same figure?
- css - 不完全确定我应该在 Vue SPA 中的哪里编写 CSS
- javascript - 角度激活路由参数类型错误:无法读取未定义的属性“id”
- postgresql - Default value declared in JPA @Column( columnDefinition ... ) not set when persisted
- c++ - 在函数c ++中通过引用传递的指针参数