问题标签 [angular-pwa]

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 投票
2 回答
4688 浏览

angular - 为什么我的 Angular CLI 找不到模块“@angular/compiler-cli/ngcc”?

在通过成功安装 PWA 组件以使我的 Angular 应用程序成为渐进式 Web 应用程序ng add @angular/pwa --project myProjectName后,我似乎无法再启动我的应用程序了。

当我尝试通过我启动我的应用程序时,ng serve -o我收到此错误消息:

发生未处理的异常:找不到模块'@angular/compiler-cli/ngcc'
有关详细信息,请参阅“/tmp/ng-JO4KFv/angular-errors.log”。

我尝试卸载 Angular CLI 并根据此处的说明重新安装它的最新版本,但这根本没有帮助。

如何解决此问题并使其正常工作?

在我的 Angular 应用环境下面找到: 我的角度环境

0 投票
0 回答
115 浏览

angular - 如何 Git 将 Angular 应用程序拉到本地启用 Angular-pwa 的项目?

我创建了一个 Angular 应用程序,并将其推送到我的 Bitbucket 存储库。为了将我的 Angular 应用程序变成一个渐进式 Web 应用程序,我遵循了这个分步指南

结果是一个名为angular-pwa的新创建的文件夹(根据指南)。然后我从存储库cd进入angular-pwapulled我的应用程序。

我用于pull我的应用程序的命令:

在执行上述命令后,我从未看到任何错误消息,表明我的应用程序已成功拉取,但是,当我cd进入angular-pwa文件夹时,我没有看到取的应用程序有任何恍惚。

通过从存储库中提取我的应用程序,我希望angular-pwa文件夹中的所有内容都会被我的应用程序覆盖pulled

运行还显示通过如下所示ng serve -o --port 4000安装的默认角度页面,但不是我的应用程序:ng new angular-pwa

通过安装的默认应用程序ng new angular-pwa

我做错了什么,以及如何达到预期的结果?

0 投票
2 回答
2185 浏览

angular - 带有自定义离线页面的 Angular PWA

在 Angular (8) 应用程序中,我想添加一个自定义离线页面(只是一个简单的 html 文件开始)。我已将我的应用程序设置为 PWA(使用@angular/pwa和配置所有内容,以便它至少在在线时能够顺利运行)。

但是,我很难为 PWA 用户提供更新。因此,经过数小时的尝试和错误,我决定index.htmlngsw-config.json. 这当然具有index.html每次加载的效果(还不错,因为它太小了)。如果有任何更新index.html链接指向不同的 JS 文件,这些文件会立即加载。所以,正如我之前所说,PWA 就像我喜欢的那样工作。

现在我想offline.html在用户启动 PWA 脱机时显示。因此,我添加offline.htmlngsw-config.json创建了一个自定义 Service Worker,包括官方ngsw-worker.js

我也在使用这个自定义服务工作者而不是官方的:

到目前为止,一切仍然按预期工作。行为和以前一样。现在我想在我的自定义工作者中包含离线行为:

该脚本来自:https ://stackoverflow.com/a/56738140/4653997 不幸的是,这部分根本不起作用。现在我几乎被困住了。我不知道下一步该怎么做。我认为无论是否index.html可以加载服​​务人员都会被执行。

任何帮助,将不胜感激。

0 投票
0 回答
87 浏览

angular - Angular PWA:缓存配置 json

我想激活 PWA 我成功缓存了所有资产,但配置 JSON 没有缓存,所以我的应用在离线模式下无法正常工作

仅供参考:我在使用 https 的真实服务器中尝试此操作,但结果相同,因此我在虚拟服务器“ngsw.json”中工作

  • 主画面 在此处输入图像描述

  • 服务人员屏幕 在此处输入图像描述

  • 这是我的 chrome 审核 在此处输入图像描述

  • 离线模式下的网络快照在此处输入图像描述

提前致谢

0 投票
1 回答
1866 浏览

angular - Angular Service Worker 在子目录中不起作用

我创建了一个新的 Angular 项目并添加了 @angular/pwa,当网站位于目录中时,我无法弄清楚如何让服务人员工作。我尝试将文件夹添加到 ngsw-config.json 中的每个链接,并在链接之前添加一个点(这有助于使 Angular 应用程序通过使用在文件夹中运行<base href="./">)。

编辑 manifest.webmanifest 中的 staturl 以"start_url": "/folder/"使应用程序可在 chrome 中安装,但仍无法离线使用(HTTP 错误 504)。

版本:Angular CLI:8.3.8 节点:10.16.3 @angular/pwa:0.803.8

0 投票
0 回答
110 浏览

angular - 我可以将角度 pwa 用于角度 7 吗?

我正在尝试将服务人员添加到我的 Angular 7 应用程序中。我阅读了角度文档,这应该是 pwa 工作的最后一个角度版本,但我想保留 7.2.3。当我制作 ng add @angular/pwa --project -name- 被添加到包中,但没有创建清单和角度文档中的内容。有什么办法可以管理这个,或者我需要更新我的 cli 才能让它工作?(https://angular.io/guide/service-worker-intro

此警告在安装后向我显示:无效的规则结果:类 Promise 的实例。

0 投票
1 回答
736 浏览

angular - Angular 7 swUpdate 打破了单元测试,不能模拟/覆盖测试(PWA)

这是我实现的组件swUpdate

这是我的单元测试:

我的问题是不能为 做“模拟” swUpdate,不知何故它不起作用。

不知何故,SwUpdate即使我指定了它也不会被嘲笑。

当我运行时ng test,它显示此错误:

请注意:模拟仅不适用于SwUpdate.

0 投票
1 回答
99 浏览

javascript - 使用 PWA 构建应用程序

我有问题:

  • 当我使用命令ng serve --prod注册 Service Worker
  • 当我使用ng build --prodService Worker 的命令时未注册。dist 中缺少文件
    • 文件ngsw
0 投票
1 回答
2752 浏览

progressive-web-apps - 在 angular PWA 中必须使用用户手势错误调用 prompt() 方法

我在我的 Angular 项目中开发了 PWA,PWA 安装横幅通过调用如下prompt()事件显示在 chrome 浏览器上,

但有时它会抛出错误

必须使用用户手势调用 prompt() 方法。

我找不到解决方案,任何帮助将不胜感激。

0 投票
1 回答
560 浏览

angular - 以角度卸载 PWA 应用程序后未删除服务人员

我已经使用 Angular 创建了 PWA 应用程序。安装应用程序后它工作正常。现在我打开网站并登录网站,该用户的凭据存储在 localStorage 中。我点击添加到主屏幕并打开 PWA 应用程序,它工作正常。然后我卸载应用程序并再次访问网站并输入其他用户的登录凭据。然后我再次单击添加到主屏幕图标并打开 PWA 应用程序,但它向我显示旧用户登录,而不是我从网站所做的新用户登录。

步骤:
-> 打开网站并以User1
身份登录 -> 单击添加到主屏幕
-> 打开已安装的 PWA 应用程序,它将显示User1已登录
-> 卸载 PWA 应用程序
-> 转到网站并以User2
身份登录 -> 单击添加到主屏幕
-> 打开已安装的 PWA 应用程序,它将显示用户 1登录而不是用户 2

用户凭据存储在 localStorage 中,从哪个网站显示哪个用户登录了该网站

如何在 PWA 应用程序中始终显示新用户已登录?从 android、ios 卸载 PWA 应用后,Service Worker 是否也未注册?