【问题标题】:where to put firebase-messaging-sw file in angular app将firebase-messaging-sw文件放在角度应用程序中的位置
【发布时间】:2017-02-24 09:28:11
【问题描述】:

我在注册 Service Worker 时感到震惊。我创建了一个示例项目,在其中我在根级别添加了firebase-messaging-sw.js 文件,如下所示

<script src="/firebase-messaging-sw.js"></script>

在根级别和manifest.json 文件之后我在启动应用程序后做了grunt serve,我能够注册服务工作者并生成令牌,它工作正常。

在我尝试在实际工作项目中实现该功能之后,我在根级别添加了 未捕获的错误:[$http://injector:modulerr] 无法实例化模块应用程序,原因是: 错误:[$http://injector:modulerr] 无法实例化模块lazyModel 由于: 错误:[$http://injector:nomod] 模块“lazyModel”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。这个错误。

我还在根级别添加了 manifest.json 文件,它没有加载到浏览器中。

现在的问题是“grunt serve”项目运行良好,因为“grunt build”生成了一个 dist,在 WEB INF 下面的 war 文件中添加了该文件。为什么它不适用于 grunt build ??

dist 不是不打包文件。

对于我的实际项目,路径是 http://localhost:8080/XXXXXX/index.html#/core/login 我正在使用此路径“grunt build”生成 dist。

对于我的示例项目http://localhost:9000/#/ 使用了 grunt serve。

目录结构

【问题讨论】:

  • 能否提供目录结构和完整的错误日志?
  • 嗨!您是否找到任何解决方法?我也在做这个。谢谢。
  • 你面临什么问题??你能安装 Service Worker 吗??
  • github.com/firebase/quickstart-js/issues/109you 可以参考此链接获取解决方案。
  • 如果有人找到这个问题的解决方案

标签: angularjs firebase firebase-cloud-messaging service-worker


【解决方案1】:

尝试检查所有其他依赖项是否正确加载?

由于您的错误提示“模块 'lazyModel' 不可用”,请尝试定位到它已使用或需要的位置。

【讨论】:

    【解决方案2】:

    使用service worker precache。它是一个生成服务工作者的模块,负责缓存应用程序中的所有静态资源。

    它会在您的根文件夹中生成一个 service-worker.js 文件。您可以看到输出还包括缓存的资产的总大小和数量。这对应于您的应用程序外壳包含的资源总数。

    Here 是一个可能有帮助的博客。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 2017-06-20
      • 1970-01-01
      • 2020-11-29
      • 2014-08-13
      相关资源
      最近更新 更多