问题标签 [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.
angular - Angular Service Worker 路由
我已经使用 Angular Service Worker 构建了一个应用程序,除了路线外,它都可以离线运行。如果我转到基本 url,应用程序加载正常,但如果我在离线时转到任何其他路线,我会收到离线错误。
我的 ngsw-manifest.json 看起来像
angular - 用于平台服务器的 Angular CLI 服务人员?
语境
我正在使用 Angular CLI 构建服务器端呈现的应用程序。在我的.angular-cli.json
文件中,apps
数组中有 2 个应用程序,一个用于"platform": "browser"
,一个用于"platform:": "server"
,在1.3.x
. 目前,我在浏览器配置中使用服务工作者选项:
.angular-cli.json
问题:
我也应该使用该"serviceWorker": true
选项"platform": "server"
吗?
谢谢!
angular - Angular 5 cli 多应用服务工作者
我有一个带有 angular cli 的多应用程序设置,基本上是一个客户端应用程序和一个管理应用程序,并使用 express 为它们提供服务。我希望能够从管理路径为管理应用程序提供服务,即example.com/admin
在我添加服务人员之前工作正常。
如果我访问服务工作者,example.com
那么应用程序example.com/admin
将不再加载它总是尝试从服务工作者加载客户端应用程序,除非我清除缓存然后加载。
几乎没有关于角度服务工作者实现的文档,所以不知道是否有任何选项可以克服这个问题。
angular - 如何在 index.html Angular 2 中包含 src/ 目录中的服务工作者 js 文件
我正在尝试在 Angular 2 中为 PWA 设置服务工作者。我目前在 src/assets/js 中有 service-worker.js 文件,我可以在 index.html 中包含以下内容:
这个问题是我得到了错误
Uncaught (in promise) Error: Request for http://localhost:4200/assets/js/src/index.html?_sw-precache=5bad745861375765f6cd0b9440666847 returned a response with status 404
这是意料之中的,因为 index.html 不在 /assets/js/src 中。如果我尝试将 service-worker.js 文件移动到 src/ 我会在 js 文件本身上收到 404 错误,因为我猜测 Angular 2 开发服务器没有接收到它?有谁知道解决这个问题的方法?
编辑:我正在使用 angular-cli
angular - 在生产中将 PWA 更新部署到 IIS 后出现“哈希不匹配”错误
我正在使用 angular5 编写的 PWA。我正在使用:“@angular/cli”:“1.6.0-rc.1”。"@angular/language-service": "^5.0.0",
我想通知用户应用程序的更新以刷新页面。
当我在本地运行代码并在输出文件夹上监听 http-server 时,它工作正常,我看到了更新流程和用户的确认消息。
当使用 localhost 在 IIS 中本地运行应用程序时,它也可以正常工作,并且我看到了更新流程和用户的确认消息。
当使用特定域在本地运行应用程序(在 IIS 中绑定到应用程序的主机文件中编辑)时,它不起作用。
在生产中运行应用程序时,它不起作用。
在第 3 点和第 4 点中,当我说“不起作用”时,我的意思是我收到 Uncaught (in promise) Error: Hash mismatch (cacheBustedFetchFromNetwork) 的异常消息:
当我尝试在移动设备上针对生产检查它时,我也没有看到更新流程正在发生。
再次刷新页面后,我看到更改并且错误消息消失(更新已完成)
这是执行更新的代码:
也许我错过了一些我正在以角度部署它的域的特定配置?
angular - Angular-cli 1.6 PWA 路由重定向阻止服务器工作者启动
我正在尝试将 @angular/service-worker 5.0.0 与 Angular cli 1.6 一起使用,该应用程序在离线时会缓存一切正常,但是当我通过在启动时重定向到 \home 来更改主 \ 路由时,service-worker 停止工作并从 chrom 开发工具中消失。如何在 ngsw.config.json 中设置路由以及它的文档在哪里。这是我的 App-routing.module:
angular - Angular 5 和 Service Worker:如何从 ngsw-config.json 中排除特定路径
我有ngsw-config.json
(取自文档):
在我的网站上有一个指向 RSS 提要的链接/api/rss
,它应该在新的浏览器选项卡中打开,而无需加载 Angular 应用程序。如何将其从请求重定向到的资源列表中排除index.html
?
UPD:我尝试过但无法使用以下配置(请参阅!/api/rss
):
angular-service-worker - ngsw/state 虚拟目录下的 Angular Service Worker 调试信息?
我指的是角度服务工作者和调试(请参阅以下链接:https ://angular.io/guide/service-worker-devops#locating-and-analyzing-debugging-information )。
引用文档:
ngsw/
Angular 服务工作者在虚拟目录下公开调试信息 。目前,唯一暴露的 URL 是ngsw/state
.
我无法在 https://angular.io/progressive web 应用程序上找到调试信息:我尝试如下附加ngsw/state
:https: //angular.io/ngsw/state无济于事。我在源开发工具选项卡中都找不到参考。更重要的是:什么是虚拟目录,在哪里可以找到它?ngsw/state
ngsw/state
有人可以建议吗?
angular - Angular Service Worker 开始太晚了
我在内部 Service Worker 中使用 Angular 5.1 这是我的 ngsw-config.json 文件:
在我主页的 ngOnInit 函数中,我调用了 dataGroups 中列出的 /api url。当我打开控制台时,我可以看到这个 url 在 service worker 启动之前被调用(下面用红色框起来)(我猜 service worker 的启动与下面蓝色框起来的元素匹配)。
因此,如果我关闭我的 Internet 连接,则 /api 调用不会由服务人员处理。如果我在关闭连接之前导航到另一个页面并返回主页,则 /api 调用由服务人员处理。
这是一个问题吗?案件如何处理?
angular - 将 Angular 5 PWA 缓存时间设置为无限制
我的 pwa(Progressive Web App)的缓存在 3 天后被删除。有没有办法告诉浏览器永远不应该删除缓存?
我的 ngsw-config.json 看起来像这样:
我可以以某种方式将 maxAge 设置为无限制吗?