为了账号安全,请及时绑定邮箱和手机立即绑定

加载 gRPC 二进制模块失败,因为它没有为当前系统安装

加载 gRPC 二进制模块失败,因为它没有为当前系统安装

SMILET 2022-06-09 09:56:26
我正在制作一个使用 firebase 实时数据库的电子应用程序。我遵循了 youtube 上的教程并阅读了 firebase 网站上的文档。一切都做得很完美。我的代码:main.html:<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title>Hello World!</title>    <!-- https://electronjs.org/docs/tutorial/security#csp-meta-tag -->  </head>  <body>    <h1>Hello World!</h1>    We are using node <script>document.write(process.versions.node)</script>,    Chrome <script>document.write(process.versions.chrome)</script>,    and Electron <script>document.write(process.versions.electron)</script>.  </body>  <script>    require('./renderer.js')  </script></html>主.js:const { app, BrowserWindow } = require('electron')function createWindow () {  // Create the browser window.  let win = new BrowserWindow({    width: 800,    height: 600,    webPreferences: {      nodeIntegration: true    }  })  // and load the index.html of the app.  win.loadFile('main.html')}app.whenReady().then(createWindow)renderer.js(来自教程)var firebase = require("firebase");// Your web app's Firebase configurationvar firebaseConfig = {    apiKey: "***",    authDomain: "***",    databaseURL: "***",    projectId: "***",    storageBucket: "***",    messagingSenderId: "***",    appId: "***",    measurementId: "***"  };  // Initialize Firebase  firebase.initializeApp(firebaseConfig);笔记!!我曾经***替换数据只是为了确保它们无论如何都不会暴露。我的程序应该有它们。包.json{  "name": "rubik",  "version": "1.0.0",  "description": "",  "main": "main.js",  "scripts": {    "start": "electron ."  },  "author": "",  "license": "ISC",  "dependencies": {    "@grpc/grpc-js": "^0.7.4",    "firebase": "^7.13.1"  },  "devDependencies": {    "electron": "^8.2.0"  }}
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

我不确定 gRPC 是否可以在 Electron 应用程序中使用,但建议采取另一种方式。现在,您正在将所有 Firebase 产品的 SDK 加载到您的应用中,这可能远远超出需要。这不仅会增加应用程序的大小,还会引入各种不必要的依赖项,例如 gRPC(仅由 Firestore 使用)。

减小应用程序大小并消除错误消息的最简单方法是仅包含您实际使用的 Firebase SDK:

var firebase = require("firebase/app");
require("firebase/database")

有关这方面的更多信息,请参阅Firebase 文档中添加 Firebase SDK 和初始化 Firebase部分中的Node.js选项卡。即使您不直接使用 Node.js,您也需要在此处查找使用导入模块方法的示例。require


查看完整回答
反对 回复 2022-06-09
  • 1 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号