问题标签 [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 回答
136 浏览

javascript - 将 Service Worker 安装到 Angular 4 应用程序 - 无 Angular CLI

我目前的情况是我支持一个在 Angular CLI 成为事实上的标准之前的应用程序。它通过 SystemJS 而不是 WebPack 支持。

我想安装一个 Service Worker,但是使用 Angular CLI 的观众会引用大量的文档、博客等。有没有人有在 Angular App sans CLI 上安装服务工作者的解决方案/分步指南?

谢谢你的时间!

0 投票
1 回答
684 浏览

angular - 获取加载失败:获取“视频 URL”。在 ngsw-worker.js:2607

我们有 angular 6 通用应用程序,在我的网站上有视频,当我点击播放按钮时出现以下错误,

但是经过一段时间的视频获取和播放后,播放视频需要更多时间。当我删除 ngsw-worker.js 快速获取和播放的视频时。

经过一段时间的视频获取和播放

0 投票
2 回答
1128 浏览

angular - ng 添加 @angular/pwa 时出错

我正在尝试使用 angular 创建一个 pwa 应用程序。最初我安装了 angular-cli 6.1 版本,但我认为该版本在创建 pwa 时会出现一些错误(与 ngsw.json 相关已经存在)。所以我添加了 angular-cli 6.2.0-beta.2 和当前的 ng -v 显示

现在,当我尝试添加 ng add @angular/pwa 时,它显示“找不到项目的索引文件”。不知道为什么?任何帮助都会受到极大的青睐

0 投票
1 回答
107 浏览

angular - Angular Service Worker 获取错误

关于我们带有服务人员的 Angular 6 Web 应用程序:我们在service worker通过 Chrome 访问我们的 QA 网站时遇到了这个相关错误 - Site can't be reached

临时修复是打开并f12 dev console选择复选框,然后刷新页面以访问该站点。Update on reloadBypass for network

这是 F12 开发控制台中显示的错误:

在此处输入图像描述

我们注意到的一件明显的事情是我们index.html页面的路径,这是错误的。它试图在域根目录引用 index.html - 即https://mydomain.myserver.com/index.html - 而它应该引用https://mydomain.myserver.com/mytestwebsite/index.html

也许我们的 ngsw 配置文件有问题:

任何有关设置 Angular 服务人员的最佳方式的建议都值得赞赏。

0 投票
0 回答
195 浏览

angular - Angular Service Worker:子路由刷新时出现 404

在此处输入图像描述也尝试了清单路由以重定向到索引,但没有奏效。

任何帮助将不胜感激 !

0 投票
1 回答
4478 浏览

progressive-web-apps - self.addEventListener('fetch', function(e) { }) 不工作

我对 PWA 有疑问,如果有人帮助我,我会很高兴。在我的 PWA 中,存储 HTML、JS 和 CSS 等静态文件没有任何问题。但我面临动态数据的问题。即:我self.addEventListener('fetch', function(e) { })没有被调用,但其他功能工作正常,即:“安装”和“活动”事件。

更具体地说,我使用@angular/service-worker的效果很好,但我创建了另一个名为sw.js. 在我sw-js的情况下,我正在听诸如“安装”、“活动”和“获取”之类的事件。我的sw.jsfetch 没有被调用,而其他两种方法运行良好。但是在ngsw-worker.js单独获取 fetch 方法时会被调用。

我需要的是在 PWA 中使用 Angular 进行 CRUD 操作。

提前致谢!

0 投票
1 回答
815 浏览

service-worker - 自定义@angular/service-worker

如何自定义@angular/service-worker?我知道这不是在 npm_modules 文件夹中修改的合适方法。我遇到了一个教程,作者在其中创建了另外 2 个 js 文件。其中一个文件包含服务工作者代码,而另一个包含“importScripts()”以导入 ngsw-worker.js 文件和自定义服务工作者文件。它工作正常,自定义服务工作者侦听安装事件,但是当涉及到 fetch 事件时,它没有通过这个 fetch 事件侦听器。我没有在这个函数中得到控制台。我不知道为什么会这样。有人知道实现这一目标的原因或任何其他解决方案吗?

这是我遵循的教程的链接, 教程

0 投票
0 回答
3968 浏览

angular - Angular 6 PWA 服务工作者不离线提供内容

我正在尝试使用 Angular 6 设置 PWA,但无法让服务人员离线提供内容。这几天我尝试了很多配置和东西,但没有成功。

服务工作者似乎已注册并在 Chrome 的审核选项卡中运行灯塔通过了 pwa 测试。

服务工作者

PWA 评分

PWA 测试详情

我正在使用 Contentful 为本网站提供文本/资产。Service Worker 正在从 dataGroups 中获取内容,但在 Service Worker 进行获取时它会返回 204 代码。我只能假设这会导致缓存存储为空。

网络选项卡

缓存存储

但话又说回来,我预计灯塔测试会失败,因为它不提供离线内容。我认为这是因为只要会话没有更改,页面就可以离线工作。这意味着如果我关闭网络连接,当我从一条路线导航到另一条路线时它会起作用,但如果我重新加载/打开新选项卡/重新打开浏览器,它将失败并出现 504 代码。

我在本地 IIS 下托管 Angular 6 应用程序。

索引.html:

网络配置:

ngsw-config.json:

]

其余的像assetGroups 只是默认的。

清单.json:

生成的ngsw.json:

在我的 app.component.ts 构造函数中,我使用的是 SwUpdate:

我没有主意了。我希望能够在刷新或打开新标签/浏览器时重新加载页面。

如果任何拥有更多服务人员知识的人对我能做什么有一些想法,我将不胜感激。

谢谢!

0 投票
1 回答
2738 浏览

angularjs - PWA 添加到主屏幕后会丢失其参数和查询参数

我使用 Angular6 创建了一个 PWA(Progressive Web App)。它在浏览器中按预期完美运行。我的方案是根据我从 URL 获得的参数处理所有应用程序数据

例如:https://<my-site.com>/app/abc123

abc123我需要添加到主屏幕应用程序的参数在哪里。

所以问题是当用户将应用程序添加到主屏幕时,它会丢失所有参数(我也尝试过使用查询参数)并且只剩下主机名。我需要将整个 URL 添加为 App URL。你能帮忙吗?

感谢您的时间和帮助!

0 投票
3 回答
486 浏览

angular - 错误 TS2339:“对象”类型上不存在属性“JSON”。“.map(resp => resp.JSON())” 角度 4

在我的文件contacts.service.ts 中。我有自己的代码

}

我在函数getContact()中遇到问题,因为HttpClient不想要地图,我收到消息并收到消息:“对象”类型上不存在属性“JSON”

当我忘记此函数中 的.map时如何修改此代码

当我可以在我的项目中更正此代码并考虑所有问题时,请给我建议。