SMILET
2022-06-09 09:56:26
我正在制作一個(gè)使用 firebase 實(shí)時(shí)數(shù)據(jù)庫的電子應(yīng)用程序。我遵循了 youtube 上的教程并閱讀了 firebase 網(wǎng)站上的文檔。一切都做得很完美。我的代碼: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);筆記?。∥以?jīng)***替換數(shù)據(jù)只是為了確保它們無論如何都不會(huì)暴露。我的程序應(yīng)該有它們。包.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貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
我不確定 gRPC 是否可以在 Electron 應(yīng)用程序中使用,但建議采取另一種方式?,F(xiàn)在,您正在將所有 Firebase 產(chǎn)品的 SDK 加載到您的應(yīng)用中,這可能遠(yuǎn)遠(yuǎn)超出需要。這不僅會(huì)增加應(yīng)用程序的大小,還會(huì)引入各種不必要的依賴項(xiàng),例如 gRPC(僅由 Firestore 使用)。
減小應(yīng)用程序大小并消除錯(cuò)誤消息的最簡單方法是僅包含您實(shí)際使用的 Firebase SDK:
var firebase = require("firebase/app"); require("firebase/database")
有關(guān)這方面的更多信息,請(qǐng)參閱Firebase 文檔中添加 Firebase SDK 和初始化 Firebase部分中的Node.js選項(xiàng)卡。即使您不直接使用 Node.js,您也需要在此處查找使用導(dǎo)入模塊方法的示例。require
添加回答
舉報(bào)
0/150
提交
取消