Один из способов выполнить эту работу - запустить локальный сервер, который обслуживает страницу, которую вы хотите отобразить.Затем в вашем электронном окне загрузите URL этого локального сервера.
Поскольку библиотеки Firebase будут жаловаться, если загружены непосредственно в электронное окно, но вы можете обойти его, используя локальный сервер, например так:
import {
app,
BrowserWindow
} from 'electron'
import ex from 'express'
import path from 'path'
const express = ex()
let win
const port = 12345
const appPath = app.getAppPath()
express.use(require('express').static(path.join(appPath, '/')))
express.get('/', (_, res) => res.sendFile(path.join(appPath, '/index.html')))
express.listen(port, () => console.log('Running on ' + port))
function getWindow () {
if (win === undefined) {
// Create the browser window.
win = new BrowserWindow({
frame: false,
transparent: true,
alwaysOnTop: true,
width: 1280,
height: 768,
center: true
})
win.loadURL('http://localhost:' + port)
}
return win
}
app.on('ready', () => {
getWindow().show()
})
Приведенный выше код будет вашим index.js
который вы бы запустить, когда вы запускаете электрон.Затем в index.html
, который обслуживается через локальный веб-сервер, вы загружаете веб-библиотеки Firebase.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>Example</title>
</head>
<body>
<script src="/__/firebase/6.3.0/firebase-app.js"></script>
<script src="/__/firebase/6.3.0/firebase-auth.js"></script>
</body>
</html>