如何编辑 Angular CLI 项目的 Service Worker 文件

2024-04-08

我已经添加了@angular/pwa使用以下命令打包到我的 Angular CLI 项目ng add @angular/pwa --project *project-name*所以它变成了一个渐进式 Web 应用程序,这增加了我认识的服务人员。我想编辑默认服务人员以支持例如处理共同目标 https://wicg.github.io/web-share-target/#example-4-sw-js链接。我看到服务工作者已注册到一个名为的文件ngsw-worker.js使用 Google Chrome 中的“检查”选项。我如何编辑该服务人员(ngsw-worker.js)由 Angular CLI 在编译时创建ng build --prod?什么是最好的方法?


这是一个好问题,不知道为什么如此被否决。 正如所解释的here https://medium.com/@smarth55/extending-the-angular-cli-service-worker-44bfc205894c实现此目的的最佳方法是用您自己的服务扩展原始 Service Worker:

importScripts('./ngsw-worker.js');

// my new features
self.addEventListener('notificationclick', (event) => {
  console.log('notification clicked!')
});

然后将新的添加到 angular.json 资产数组中:

"assets": {
  ...,
  "src/my-service-worker.js"
}

然后替换app.module中的sw文件:

//app.module.ts
ServiceWorkerModule.register('my-service-worker.js', { enabled: environment.production 
})

干净又简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何编辑 Angular CLI 项目的 Service Worker 文件 的相关文章

随机推荐

  • HttpURLConnection 错误:java.net.SocketTimeoutException:连接超时

    我正在使用像这样的简单 urlconnection url URL getClient uid cl id URL url new URL this url Log d Set get t URL url HttpURLConnection
  • Fable F# > js 编译多个.fsx 文件

    如何编译多个 fsx使用寓言的文件 我 天真地 尝试在 fable config 文件中传递它们的数组 如下所示 outDir app projFile app index fsx app testmod fsx sourceMaps tr
  • 无法建立连接 - 源不存在

    我有一个简单的部分 用户可以根据需要从一个元素连接到另一个元素 连接后可以这样 我使用 jsPlumb 进行连接 连接后 如果用户满意可以保存 一切都按照我的要求正确保存 现在当用户重新加载页面连接时 例如 con 6 con 18 不会显
  • 如何改变平滑滚动的速度? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我无法更改平滑滚动的速度 我已经尝试更改以下代码末尾的值 1000 您能帮我吗 document ready funct
  • 从 Airflow Postgres 挂钩检索完整连接 URI

    有没有更简洁的方法从 Postgres 挂钩获取完整的 URI get uri 不包含 额外 参数 所以我像这样附加它们 def pg conn id to uri postgres conn id hook PostgresHook po
  • Flink Logging 获取作业名称或作业 ID

    我正在尝试设置 logback xml 以便它将包含与日志记录关联的 JobName 或 JobId 我还没有找到一种方法来做到这一点 是否可以 最终我想要实现的是能够将日志发送到 ElasticSearch 并用消息标记 JobName
  • 在开发模式下生成 JasperReport 时出错

    我在启动时初始化程序中的报告时遇到问题 前段时间 它工作正常 但是当我将 JDK 1 7 update 17 卸载到 JDK 1 7 update 21 并全新安装 Netbeans 时 存在异常 这是错误消息 Exception in t
  • iOS 应用程序可以在运行时读取自己的权利吗?

    iOS 应用程序可以在运行时发现 检查或以其他方式读取自己的权利吗 理想情况下 我可以将 entitlements 文件的全部 已处理 内容作为 plist 读取 仅获取应用程序标识符前缀将是可接受的次优方案 这里的目标包括 允许使用各种应
  • 创建没有 UI 的 iOS 操作扩展

    我正在尝试创建一个类似于 iOS 中可用的系统 复制 操作的操作扩展 我发现不同的答案说不可能有非全屏用户界面 但根据苹果官方文档 https developer apple com library archive documentatio
  • 树中始终向左|向右的下降路径的最大长度

    我正在准备技术面试 所以基本上从一开始就学习算法 我们得到了 BST 我需要找到其中 desc 路径的最大长度 该路径总是向左或向右 换句话说 示例树的下降路径是2 即15 10 6 5 2 15 10 6 14 我对算法问题非常陌生 解决
  • Predict() glmnet 函数中的错误:尚未实现的方法

    当我使用预测 glmnet 函数时 我收到代码下面提到的错误 mydata lt read csv data csv x lt mydata 1 4 y lt mydata 5 data lt cbind x y model lt mode
  • 如何在Flutter中创建45度的线性渐变?

    我无法理解如何以度数 LinearGradient 进行操作 我有以下代码 Container height 100 0 decoration BoxDecoration borderRadius BorderRadius circular
  • PowerShell 支持常量吗?

    我想在 PowerShell 中声明一些整数常量 有什么好的办法吗 Use Set Variable test Option Constant Value 100 or Set Variable test Option ReadOnly V
  • Visual Studio Code (vscode) - 按键时请求文本文档/文档链接失败错误

    您好 我正在我的 Mac 和 Windows 10 计算机上运行 VSCode 在最新的更新 回滚后 它们都开始显示相同的症状 每按几次按键 就会出现输出框 并在下拉列表中选择 HTML 语言服务器 显示的错误是 Error 13 47 0
  • scala 中 `=> String` 的类型是什么?

    在scala中 有一些按名称调用的参数 def hello who gt String println hello who 参数的类型是什么who 它将 scala REPL 上的函数显示为 hello who gt String Unit
  • 增加 R heatmap() 函数中的行高

    我有一个包含数百行和数十列的矩阵 希望绘制热图 如果我使用本机 R 函数 heatmap matrix sample 1 10000 nrow 1000 ncol 10 我得到一个行标题难以辨认的数字 我假设生成的图像符合当前绘图设备的规格
  • 获取手机方向,但将屏幕方向固定为纵向

    我想要获得手机方向 但将屏幕方向保持为纵向 因此 无论用户将手机转向横向还是纵向 视图都保持不变 但我可以知道它是转向横向还是纵向 将活动设置为android screenOrientation 肖像 将解决这两个问题 但我无法通过以下方式
  • PHP 检测无用文件或无用代码的工具

    我有一个非常大的 PHP 项目 我认为有很多无用的东西 您是否有一些技巧或工具来检测无用的代码部分或无用的文件 PHP 混乱检测器 PHPMD https phpmd org 可能的错误 次优代码 表达式过于复杂 未使用的参数 方法 属性
  • 无法从源代码构建 qtermwidget

    我正在尝试建立qterm小部件 https github com lxqt qtermwidget来自源头 但它给了我错误 我已经成功构建了lxqt 构建工具 https github com lxqt lxqt build tools 然
  • 如何编辑 Angular CLI 项目的 Service Worker 文件

    我已经添加了 angular pwa使用以下命令打包到我的 Angular CLI 项目ng add angular pwa project project name 所以它变成了一个渐进式 Web 应用程序 这增加了我认识的服务人员 我想