问题标签 [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 - 如何使用角度 pwa 原理图库
我看到一个新的图书馆已经登陆,或者至少我刚刚开始熟悉它。此问题中的重现步骤参考@angular/pwa
但我找不到任何文档(尚未!)。有谁知道这个库对于 Angular CLI 用户的用途和功能?还是功能透明?我一直在手动尝试服务人员。
angular - 使用带有角度的服务工作者修改请求的标头
我有一个带有第三方工具的角度应用程序。我想拦截从第三方工具生成的请求,以修改传出的标头参数。
我尝试使用 http 拦截器,但不幸的是,它只拦截从我自己的应用程序发出的请求。
我想知道我是否能够使用有角度的服务人员拦截所有传出请求?如果是这样,我是否需要修改 ngsw-worker.js 文件的代码,或者我应该将我的代码集成到应用程序的其他位置?
谢谢!
angular - Angular 5 中的服务工作者
我正在尝试在我的项目中使用 Angular Service Worker。我的cli和其他配置如下——
我已经使用 -service-worker 标志创建了项目,并且还创建了 ngsw.config.json 文件。当我尝试注册服务人员时,我的问题就开始了。
- 当我尝试使用“ServiceWorkerModule.register()”注册服务工作者时,“注册”方法本身没有被识别并且它给出了错误。
- 为什么我看不到任何其他类,如 swPush 等。
javascript - Angular 5:如何使用 Service Worker 下载 pdf
我JsPdf
用来在客户端生成和下载pdf。不幸的是,这个过程让浏览器挂了一段时间。
所以我的问题是如何在后台生成和下载pdf,使用service worker
?
angular - Angular5 Service Worker 更新(SWUpdate)未在 Firefox 上检测到。在铬上工作
我正在使用Angular5
和angular service worker
。
我cached
有一些数据和一些资产,一切都按预期工作,甚至部署了代码。
现在,如果我更新一些代码并再次部署,则service worker
不会更新。
所以,我已经通过了Angular 服务工作者链接并且我实现了SwUpdate service
。
这是我的代码:
我创建了一个服务并在 App Component 中调用它
上面的代码做了什么:
- 每当部署新代码时,旧的 serviceworker 都会检测到它。
- 然后它
subscribes
的updates.available
事件。 - 我们监听该事件并重新加载页面。
问题:
现在,问题是,它在 chrome 上完美运行。但不是在 Firefox 中。在Firefox中,代码没有进入
updates.available.subscribe
javascript - Service Worker 同步加载
我正在建立一个第一次实现服务工作者的网站。我正在测试性能,我得到了大约 500 毫秒。我尝试在私人窗口中运行性能测试,结果大约翻了一番。当我查看页面加载时,看起来 service worker 不仅首先加载,而且是同步加载的,并且它本身持续了大约 500 毫秒。请注意,花费这么长时间的不是我的 js 文件,而是我正在以这种方式加载的工作箱库:importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.0.0/workbox-sw.js');
有人能给我一些见解吗?真的是同步加载吗?有没有其他方法可以解决这个问题?这只是第一次加载吗?先感谢您。
以下是一些截图:
常规负载
私人窗口负载
angular - Service Workers Angular 在 URL 中使用版本参数加载资产
我有一个 Angular 6 应用程序,其中包含:
我得到了一个不错的服务工作者,但是在离线情况下,服务工作者不会处理带有 url GET 参数或版本的资源:
路径是对的!
这些文件位于 build 命令生成的 ngsw.json 中:
但我认为 GET 参数是问题所在。有谁知道我如何阻止字体真棒将版本参数放入 URL
或者
如何让(角度)服务人员使用 GET 参数响应文件?
angular - Angular PWA 离线数据处理
最近几天,我开始听说服务人员很酷。我想在我的角度项目中实现服务工作者,以使我的网络应用程序完全离线工作,这意味着用户应该在离线时处理数据,一旦他们发现互联网,那么数据应该用 MongoDB 更新(我们正在使用用于数据库)。我听说 indexeddb 但我不知道如何将它与我的角度集成。这样做的任何适当的角度方式。或者有什么好的教程可以学习?
提前致谢
angular - Angular 中的 PWA 支持抛出 node_modules/@angular/service-worker/service-worker.d.ts,找到版本 4,预期 3 错误
我正在将 PWA 集成到我的 Angular 项目中。它在注册ServiceWorkerModule
时出错app.module.ts
app.module.ts
当我跑步时ng build --prod
给我这个错误
./src/main.ts 中的错误找不到模块:错误:无法解析 '/app/webel/src/main/webapp/webel/src 中的 './$$_gendir/app/app.module.ngfactory' ' 错误中的错误:模块 /app/webel/src/main/webapp/webel/node_modules/@angular/service-worker/service-worker.d.ts 的元数据版本不匹配,在 StaticSymbolResolver.getModuleMetadata 中找到版本 4,预期为 3 (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:25616:34) 在 StaticSymbolResolver._createSymbolsOf (/app/webel/src/main/webapp/webel /node_modules/@angular/compiler/bundles/compiler.umd.js:25404:46) 在 StaticSymbolResolver.getSymbolsOf (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd .js:25385:14) 在 /app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler。umd.js:24241:30 at Array.forEach () at extractProgramSymbols (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:24240:79) at AotCompiler .analyzeModulesAsync (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:23796:47) 在 CodeGenerator.codegen (/app/webel/src/main/webapp /webel/node_modules/@angular/compiler-cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler-cli /src/ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/webpack/src/plugin.js:428:58)在 process._tickCallback (internal/process/next_tick.js:160:7)forEach () at extractProgramSymbols (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:24240:79) at AotCompiler.analyzeModulesAsync (/app/webel/src/ main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:23796:47) 在 CodeGenerator.codegen (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler- cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler-cli/src/ngtools_api.js:73:30 ) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/webpack/src/plugin.js:428:58) 在 process._tickCallback (internal/process/ next_tick.js:160:7)forEach () at extractProgramSymbols (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:24240:79) at AotCompiler.analyzeModulesAsync (/app/webel/src/ main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:23796:47) 在 CodeGenerator.codegen (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler- cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler-cli/src/ngtools_api.js:73:30 ) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/webpack/src/plugin.js:428:58) 在 process._tickCallback (internal/process/ next_tick.js:160:7)79) 在 AotCompiler.analyzeModulesAsync (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:23796:47) 在 CodeGenerator.codegen (/app/webel/src /main/webapp/webel/node_modules/@angular/compiler-cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/webapp/webel/node_modules/@angular /compiler-cli/src/ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/webpack/src/plugin.js: 428:58) 在 process._tickCallback (internal/process/next_tick.js:160:7)79) 在 AotCompiler.analyzeModulesAsync (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler/bundles/compiler.umd.js:23796:47) 在 CodeGenerator.codegen (/app/webel/src /main/webapp/webel/node_modules/@angular/compiler-cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/webapp/webel/node_modules/@angular /compiler-cli/src/ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/webpack/src/plugin.js: 428:58) 在 process._tickCallback (internal/process/next_tick.js:160:7)代码生成 (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler-cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/ webapp/webel/node_modules/@angular/compiler-cli/src/ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/ webpack/src/plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:160:7)代码生成 (/app/webel/src/main/webapp/webel/node_modules/@angular/compiler-cli/src/codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (/app/webel/src/main/ webapp/webel/node_modules/@angular/compiler-cli/src/ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (/app/webel/src/main/webapp/webel/node_modules/@ngtools/ webpack/src/plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:160:7)
我正在使用以下版本,
任何帮助,将不胜感激。