NodeJS firebase/messaging不提供名为getToken的导出

wz3gfoph  于 2022-12-22  发布在  Node.js
关注(0)|答案(1)|浏览(126)

我已使用npm install firebaselike on documentation安装了firebase软件开发包

    • 包. json**
{
  "main": "firebase.js",
  "type": "module",
  "dependencies": {
    "firebase": "^9.15.0"
  }
}
    • 消防基地. js**
import { initializeApp } from 'firebase/app';

const firebaseConfig = {
  //... My apiKey ... etc
};

const app = initializeApp(firebaseConfig);

console.log('DEBUG APP',app);
//until here everything ok I can see the app object

文档的下一步是配置Web凭据:

import { getMessaging, getToken } from "firebase/messaging";
//here got error:
//SyntaxError: The requested module 'firebase/messaging' does not provide an export named 'getToken'
//I tried only  import { getMessaging } ... but also not provided

const messaging = getMessaging();
// Add the public key generated from the console here.
getToken(messaging, {vapidKey: "my_wap_public_key_here"});

我也尝试过从网页客户端(如文档)
您是否使用ESM并希望使用浏览器模块?请替换所有导入行以使用以下模式:从"https://www.gstatic.com/firebasejs/9.15.0/firebase-SERVICE.js"导入{}(其中服务是SDK名称,如firebase-firestore)。
但如果我尝试

import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js';

出现错误Uncaught SyntaxError: Cannot use import statement outside a module

wswtfjt7

wswtfjt71#

Firebase Web SDK仅用于前端/浏览器环境,而Node.js被视为服务器环境
从FCM文档中...

选择服务器选项

您需要决定与FCM服务器交互的方式:可以使用Firebase Admin SDK或原始协议。由于Firebase Admin SDK支持各种流行的编程语言,并且可以方便地处理身份验证和授权,因此推荐使用它。
您可以在这里找到Node.JS管理SDK文档~ https://firebase.google.com/docs/admin/setup#node.js

相关问题