Firebase-Admin,将其导入react应用程序会抛出 Module not found 错误

IT技术 javascript node.js reactjs firebase firebase-admin
2021-03-29 22:07:44

我正在开发使用 firebase admin 的简单 React 应用程序。

我使用create react app生成了react应用程序

然后我firebase-admin使用这个 npm 命令安装了:

npm install firebase-admin --save

在我的index.js我添加了这个导入:

 import React from 'react';
 import ReactDOM from 'react-dom';
 import App from './App';
 import registerServiceWorker from './registerServiceWorker';

 import * as admin from 'firebase-admin'

 ReactDOM.render(<App />, document.getElementById('root'));
 registerServiceWorker();

当我使用npm start命令启动并打开我的页面时,出现此错误:

 Module not found: Can't resolve 'dns' in 'D:\path\to\my\project\node_modules\firebase-admin\node_modules\isemail\lib'

为什么会这样?我错过了什么?

1个回答

Admin SDK 不能在客户端环境中使用。这包括网络浏览器。Admin SDK 可以也应该只在 Firebase 应用开发者拥有或管理的特权服务器环境中使用。您应该在 React 应用中使用Firebase Web SDK

正确的。您可以在服务器中托管一些特权操作(使用管理 SDK),并在需要这些操作时让您的客户端应用程序联系服务器。您可以admin.auth().verifyIdToken()在服务器中使用来验证请求。
2021-06-01 22:07:44
oop,我在文档中没有看到那个细节。因此,如果我正在构建某种类型的管理界面,允许管理员查看所有用户,例如我的 firebase 实例,我只需要在我的应用程序中将该用户设为普通用户即可授予浏览器端控制权?因此,我的 firebase 实例中有一组管理员吗?Admin SDK 基本上只用于服务器端的东西(即云功能)?对?
2021-06-10 22:07:44