importScripts 未在 Angular 应用程序中定义 firebase

Posted

技术标签:

【中文标题】importScripts 未在 Angular 应用程序中定义 firebase【英文标题】:importScripts is not defined firebase in angular app 【发布时间】:2017-07-12 02:42:42 【问题描述】:

在 firebase-messaging-sw.js 中

importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js

出现“未定义 importScripts”的错误

在 Angular 应用程序中何处包含 firebase-messaging-sw.js Js 文件? 我已包含在 scripts/firebase-messaging-sw.js 中。

在 index.html

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

【问题讨论】:

【参考方案1】:

在您的 index.html 中,您不应该引用 firebase-messaging-sw.js 而不是 firebase-message.js 吗?另外,我相信 firebase-messaging-sw.js 需要位于根级别(脚本目录中没有嵌套)。因此,您将在 index.html 中有如下内容...

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

将加载 Service Worker 脚本,然后从 Firebase CDN 导入 Firebase 脚本。

【讨论】:

是的..我在根级别添加了 谢谢我让它工作了。对所有其他人来说,不要感到困惑。如果您在 localhost 上,请将其保存在根目录中,例如 /htdocs/firebase-messaging-sw.js 或 /www/firebase-messaging-sw.js,这样您必须将此文件放入根目录。

以上是关于importScripts 未在 Angular 应用程序中定义 firebase的主要内容,如果未能解决你的问题,请参考以下文章

订阅未在 Angular 2 中定义?

为啥 Angular 组件未在浏览器后退/前进导航上加载?

Angular5:供应商包未在 Jenkins 构建中更新

Angular $http 未在 OPTIONS 飞行前发送标头

NPM 包未在 Angular 生产应用程序中导入

我在 Angular 变更检测中的断点未在 checkAndUpdateView() 上触发