【问题标题】:Firebase-Admin, importing it to react application throws Module not found errorFirebase-Admin,将其导入以响应应用程序会引发 Module not found 错误
【发布时间】:2017-11-18 19:59:59
【问题描述】:

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

我已经使用 create react app 生成了 React 应用程序。

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

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'

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

【问题讨论】:

    标签: javascript node.js reactjs firebase firebase-admin


    【解决方案1】:

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

    【讨论】:

    • 天啊,我在文档中看不到那个细节。因此,如果我正在构建某种类型的管理界面,允许管理员查看所有用户,例如我的 firebase 实例,我只需要在我的应用程序中将其设为普通用户即可授予浏览器端控制权?因此,我的 firebase 实例中会有一组管理员? Admin SDK 基本上只用于服务器端的东西(即云功能)?对吗?
    • 正确。您可以在服务器中托管一些特权操作(使用管理 SDK),并让您的客户端应用程序在需要这些操作时联系服务器。您可以在服务器中使用admin.auth().verifyIdToken() 来验证请求。
    猜你喜欢
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 2018-10-22
    • 2023-01-25
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多