问题标签 [angular-service-worker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4982 浏览

angular - 带有 POST 请求的 Angular Service Worker

我将 Angular 5.2.7 与 Angular Service Worker 5.2.7 一起使用。

我想缓存 Web 服务调用。所以,我在我的 ngsw-config.json 中有这个配置,用于 dataGroups :

我尝试缓存这两个 URL: https://randomuser.me/api/?results=20 ---> 没关系 https://test.moodlecloud.com/webservice/rest/server.php --->没关系KO

第一个按预期缓存。这是一个简单的 GET 服务。第二个不是。这是一个 POST 服务,表单数据作为有效负载发送。

知道这有什么问题吗?

0 投票
1 回答
1376 浏览

angular - Service Worker 不在离线模式下工作

我遵循了关于 service worker 的 angular 文档,并且能够在本地机器上离线运行该项目。当我尝试部署到 Github 页面时,它在在线模式下工作正常,我还可以看到文件是通过网络中的服务工作人员获取的,服务工作人员正在应用程序选项卡中运行,但是当我尝试在离线模式下重新加载页面时,它是不工作。

https://github.com/PrithiviRajG/Angular-Service-Worker是我的 Github 帐户 https://prithivirajg.github.io/Angular-Service-Worker/是我的 Github 页面

0 投票
2 回答
3499 浏览

angular - Angular Service Worker 中 index.html 的缓存

index.html每次我对Angular 项目进行任何更改时,Service Worker 都不会更新,并且总是在index.html. 我该如何解决这个问题(另外,服务器端和浏览器都没有缓存)

这是我的ngsw-config文件:

我对请求的响应标头:

我对我的 Angular APP 的请求的屏幕截图

知道如何解决这个问题吗?

谢谢

0 投票
2 回答
10961 浏览

angular - Angular 项目中 manifest.json 文件的用途是什么

首先,在 Angular 5+ 项目的上下文中,我对此类文件的潜在存在一无所知。我有一个正在运行的 Angular 5 项目,其中没有这个 manifest.json 文件。我决定添加服务工作者工具来提高应用程序的性能。服务人员没有被激活,我对该问题进行了一些研究,并遇到了以下开放的 github 问题,其中一些人提到他们使用 manifest.json 解决了问题。这个文件是什么?为什么它不能成为 Angular CLI 配置的一部分?在什么条件下你需要一个?潜在的文档在哪里?

0 投票
2 回答
945 浏览

angular - Angular service-worker 阻止缓存 SSE 调用

我已经使用 angular (5.2.9) service-worker 设置了 PWA。以下是我的配置:

我试图实现的dataGroups.urls[]是使用网络优先原则缓存每个提取,除了调用之外/api/event,这是一个使用长期连接的 ServerSentEvents 端点。可悲的是,上面的设置并没有实现这一点。

此端点用于我的应用程序中的两个中央路由,但侦听相同类型的事件调用数据刷新。在 DevTools Application>下检查我的应用程序Clear Storage,我可以在客户端缓存请求时拖尾存储大小。在我使用api/event. 然后缓存突然跳了3-4 Mb,我猜这是因为它是一个流......?

缓存调用后,每次调用api/event都会进入两次,一次来自网络,一次来自 service-worker,并且 service-worker 调用始终处于挂起状态。通过关闭 SSE 连接,只有网络调用被取消。这样做的效果是,在使用此端点在两条路由之间来回导航几次之后,chrome 似乎用完了可用的套接字 - 进一步调用任何停留在Pending状态的端点,这反过来又离开我的应用程序处于无用状态。:-(

非常感谢您对此的任何意见。

0 投票
2 回答
1121 浏览

angular - '1' 类型的参数不能分配给 'number[]' 类型的参数

我正在使用 Angular4,目前开始探索 Angular4 的服务。我在我的 dataServices 类中做的一切都是正确的,但我仍然在observer.next(1);\的参数中遇到这个错误

请告诉我我错在哪里。

错误:

数据服务.ts:

0 投票
2 回答
9364 浏览

angular - Angular ServiceWorkers + MIME 类型错误

我正在尝试将服务人员添加到我们现有的 Angular(5.2,CLI 1.7.1)应用程序中。我做了我应该做的一切:

  1. 我创建了ngsw-config.json
  2. 我运行ng set apps.0.serviceWorker=true命令,所以我有"serviceWorker": true,angular -cli.json
  3. 我已经安装"@angular/service-worker": "5.2.9"
  4. 我添加到app.module.ts

    /li>

我什至尝试将这段代码(我在某处找到作为解决方案)添加到 main.ts

但我得到了这个错误:

Uncaught (in promise) DOMException: Failed to register a ServiceWorker: 该脚本具有不受支持的 MIME 类型 ('text/html')。

ERROR 错误:未捕获(承诺):SecurityError:无法注册 ServiceWorker:脚本具有不受支持的 MIME 类型('text/html')。在 resolvePromise (polyfills.3e9ea997ddae46e16c09.bundle.js:1)

在我自己的个人小应用程序中,我做了同样的事情,并且没有任何错误。我们遇到此错误的应用程序非常庞大。有很多第三方库。我读过他们可能有问题。

你能帮我吗?

此外,我正在检查自己的应用程序以查找可能的差异,但我没有查看 devtools 中的网络选项卡,我注意到应该由服务工作者缓存的文件总是被加载。请问这是正确的行为吗?

0 投票
1 回答
1316 浏览

angular - API 如何有效缓存,使用 Angular 5 中的 Service Worker 使用 Angular CLI

我是服务人员的新手。我只想知道服务人员如何处理数据更改。

例如,我已将我的数据组配置为并设置strategy为,"performance"以便 Service Worker 始终在缓存中首先查找。这意味着任何时候命中服务工作者中的注册 URL 都会首先在缓存中查找。假设响应有一些变化(数据库中的数据发生了变化),响应会更新还是仍然会从缓存中获取。

我在网上搜索了很多我没有得到满意的答案。如果有人可以请帮助我

配置

0 投票
0 回答
219 浏览

angular5 - Angular 5 服务工作者缓存 API

我目前正在开发 Angular 5 PWA。我正在使用 Angular 的默认服务工作者实现。

我想实现一个“稍后阅读”功能,它使用户能够决定缓存哪些项目。尽管在技术上应该可以决定运行时缓存的内容,但我找不到 Angular 的 API。

我怎么能做到这一点?提前致谢!

0 投票
1 回答
714 浏览

angular - Angular Service Worker 在构建过程中不使用 --base-href

我想在我的构建中包含 ngsw,以便创建应用程序的离线版本。在package.json我接下来的构建脚本中: "build": "ng build --prod --base-href /test/" 生成的 ngsw.json 具有"/test/index.html". 我可以判断它假设我在localhost:3000,但我使用localhost:3000/test,所以我有很多错误。如何解决这个问题?