javascript - ReferenceError: self 在设置 Firebase 时未定义
问题描述
我尝试设置 Firebase 以在 Web [Javascript]上使用云消息传递,但我收到如下错误:
I20210208-15:21:52.756(7)? Exception while invoking method '/microfis_loanRequest/update' ReferenceError: self is not defined
I20210208-15:21:52.758(7)? at isSupported (/Users/rabbit/Desktop/microfis/node_modules/@firebase/messaging/dist/index.cjs.js:1711:9)
I20210208-15:21:52.758(7)? at Component.factoryMethod [as instanceFactory] (/Users/rabbit/Desktop/microfis/node_modules/@firebase/messaging/dist/index.cjs.js:1694:10)
I20210208-15:21:52.758(7)? at Provider.getOrInitializeService (/Users/rabbit/Desktop/microfis/node_modules/@firebase/component/dist/index.cjs.js:222:39)
I20210208-15:21:52.759(7)? at Provider.getImmediate (/Users/rabbit/Desktop/microfis/node_modules/@firebase/component/dist/index.cjs.js:120:33)
I20210208-15:21:52.759(7)? at FirebaseAppImpl._getService (/Users/rabbit/Desktop/microfis/node_modules/@firebase/app/dist/index.node.cjs.js:230:49)
I20210208-15:21:52.760(7)? at FirebaseAppImpl.firebaseAppImpl.(anonymous function) [as messaging] (/Users/rabbit/Desktop/microfis/node_modules/@firebase/app/dist/index.node.cjs.js:449:39)
I20210208-15:21:52.761(7)? at Object.serviceNamespace [as messaging] (/Users/rabbit/Desktop/microfis/node_modules/@firebase/app/dist/index.node.cjs.js:429:45)
I20210208-15:21:52.761(7)? at Object.<anonymous> (microfis/server/collection_hooks/mobile-app-hook/loan-request.js:53:30)
I20210208-15:21:52.762(7)? at packages/matb33_collection-hooks.js:486:20
I20210208-15:21:52.762(7)? at Array.forEach (native)
这是我为设置所做的
import firebase from 'firebase/app';
import 'firebase/messaging';
var firebaseConfig = {
apiKey: "API_KEY",
authDomain: "AUTH_DOMAIN.firebaseapp.com",
projectId: "PROJECT_ID",
storageBucket: "STORAGE_BUCKET.appspot.com",
messagingSenderId: "SENDER_ID",
appId: "APP_ID",
measurementId: "MEASUREMENT_ID"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
在这里我尝试使用它:
messaging.getToken({ vapidKey: 'VAPID_KEY' }).then((currentToken) => {
if (currentToken) {
// Send the token to your server and update the UI if necessary
// ...
print(currentToken);
} else {
// Show permission request UI
console.log('No registration token available. Request permission to generate one.');
// ...
}
}).catch((err) => {
console.log('An error occurred while retrieving token. ', err);
// ...
});
对此错误有任何想法,在此先感谢
解决方案
确保导入 Firebase SDK 脚本并在index.html
. 说明在这里。
推荐阅读
- java - 油漆组件中的 g 参数(图形 g)
- javascript - CSS JQuery动画多个div在同一个地方无限时间淡入淡出
- google-cloud-platform - 从 JSON 密钥文件将凭据传递给 Big Query
- python - 商业网站的合理股价信息(不是 alpha vantage 或 quandl)?
- python - 我可以更改 Django-CMS 中所有页面的默认 `login_required 值吗?
- spring - Spring Batch 非法状态(仅在竞争条件下发生):作业执行已在运行
- javascript - 资源文件(css 和 js)未在 safari 中加载
- parallel-processing - 在集群上运行 MPI 作业时出错
- amazon-web-services - 获取队列中可用的 SQSQueue 名称和消息
- java - GC 是否足够聪明,可以删除被引用但不再使用的对象?