添加 Firebase 管理员 SDK 后进行编译时出现的编译器错误(正在解决)



我正在将FCM推送通知添加到Angular(v8.2.0(网站。以为我完全遵循了文档中的简单说明,但是当我编译时,它会抛出大量分辨率错误。如果我只是添加管理员 SDK(npm i firebase-admin给了我 v8.3.0(,它可以很好地编译。但是当我添加导入和几行代码时,编译就爆炸了。

我一直在搜索Stack Overflow,Git hub以及几乎所有其他任何地方,但没有看到这种类型的问题。这是直接从文档中提取的代码片段:

import * as admin from 'firebase-admin';
// The topic name can be optionally prefixed with "/topics/".
var topic = 'abc';
var message = {
data: {
score: '850',
time: '2:45'
},
topic: topic
};
// Send a message to devices subscribed to the provided topic.
admin.messaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});

不过,它一直非常一致:

安装 SDK:编译正常

添加导入:编译确定

调用管理员(任何内容(:编译器错误

注释掉管理员(任何内容(:编译器错误

卸载管理员 SDK:编译正常

大约有 100 个左右的错误,如下所示:

ERROR operationsClientBrowser Can't resolve googleauth graceful-fs aws-sign2 index
Module not found: Error: Can't resolve 'crypto' in 'C:ProjectsGitHubmozaportalnode_modulesaws-sign2'
ERROR in ./node_modules/aws4/aws4.js
Module not found: Error: Can't resolve 'crypto' in 'C:ProjectsGitHubmozaportalnode_modulesaws4'
ERROR in ./node_modules/crypto-random-string/index.js
Module not found: Error: Can't resolve 'crypto' in 'C:ProjectsGitHubmozaportalnode_modulescrypto-random-string'
ERROR in ./node_modules/ecc-jsbn/index.js
Module not found: Error: Can't resolve 'crypto' in 'C:ProjectsGitHubmozaportalnode_modulesecc-jsbn'
...

我还尝试向 Firebase 团队提交工单,但在过去 12 小时内,在尝试提交时,网络提交出现错误。

任何指导都非常感谢! 谢谢。

我想我没有正确理解文档:

https://firebase.google.com/docs/cloud-messaging 指出,它需要:

受信任的环境,例如 Firebase 的 Cloud Functions 或用于构建、定位和发送消息的应用服务器

Firebase Admin SDK仅是服务器端的,我只是使用Angular。需要添加 Node.js 或其他一些服务器端功能才能使用 SDK。或者,正如我选择的那样,使用Google的Cloud Functions将FCM传递给FCM。

相关内容

  • 没有找到相关文章