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

Mr.*_*r.D 5 javascript node.js firebase reactjs firebase-admin

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

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

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

npm install firebase-admin --save
Run Code Online (Sandbox Code Playgroud)

在我的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();
Run Code Online (Sandbox Code Playgroud)

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

 Module not found: Can't resolve 'dns' in 'D:\path\to\my\project\node_modules\firebase-admin\node_modules\isemail\lib'
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我错过了什么?

Hir*_*aka 7

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

  • 正确的。您可以在服务器中托管一些特权操作(使用管理 SDK),并让客户端应用程序在需要这些操作时联系服务器。您可以在服务器中使用 admin.auth().verifyIdToken() 来验证请求。 (2认同)