开发环境:Ubuntu 20.04、node 16.20.2、npm 8.19.4
1、新建package.json文件
{
"name": "electron",
"version": "1.0.0",
"description": "test",
"main": "main.js",
"author": "wst",
"license": "MIT",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": " BUILD_TYPE=develop electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make"
},
"dependencies": {
"electron-squirrel-startup": "^1.0.0"
},
"devDependencies": {
"@electron-forge/cli": "^7.2.0",
"@electron-forge/maker-deb": "^7.2.0",
"@electron-forge/maker-rpm": "^7.2.0",
"@electron-forge/maker-squirrel": "^7.2.0",
"@electron-forge/maker-zip": "^7.2.0",
"@electron-forge/plugin-auto-unpack-natives": "^7.2.0",
"electron": "^28.1.4"
}
}
2、新建 main.js 文件
const { app, BrowserWindow, globalShortcut } = require('electron');
// 获取脚本(命令行)中配置的环境变量
const buildType = process.env.BUILD_TYPE;
function createWindow() {
var win = new BrowserWindow({
width: 800,
height: 400,
icon: 'icon.png',
autoHideMenuBar: true, // 隐藏菜单栏
resizable: false // 窗口是否可拉伸缩放
});
// 加载应用
win.loadURL('https://192.168.1.100');
// 当 window 被关闭,这个事件会被触发
win.on('closed', () => {
// 取消引用 window 对象,如果你的应用支持多窗口的话,
// 通常会把多个 window 对象存放在一个数组里面,
// 与此同时,你应该删除相应的元素。
win = null;
})
}
// 忽略https证书相关错误
app.commandLine.appendSwitch('ignore-certificate-errors');
// electron 初始化, 创建浏览器窗口
app.whenReady().then(createWindow);
// 注册时,窗口是聚焦
app.on('browser-window-focus', function () {
var shortcut = ['F11', 'CommandOrControl+R'];
if (buildType !== 'develop') {
shortcut.push('CommandOrControl+Shift+i');
}
globalShortcut.registerAll(shortcut, () => {
console.log("Shortcut Disabled");
});
});
// 取消注册时,模糊
app.on('browser-window-blur', function () {
globalShortcut.unregisterAll(); // 取消注册所有全局快捷方式
});
// 当全部窗口关闭时退出
app.on('window-all-closed', () => {
// 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
// 否则绝大部分应用及其菜单栏会保持激活。
if (process.platform !== 'darwin') {
app.quit();
}
})
app.on('activate', () => {
// 在macOS上,当单击dock图标并且没有其他窗口打开时,
// 通常在应用程序中重新创建一个窗口。
if (win === null) {
onReady();
}
})
3、安装依赖
1) 修改github DNS映射
sudo vi /etc/hosts
20.248.137.48 github.com(末尾添加)
2) 安装 dpkg、 fakeroot、alien
sudo apt-get install dpkg
sudo apt-get install fakeroot
sudo apt-get install alien
3) 更改npm 源
npm config set registry https://registry.npmmirror.com
npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/
4) 安装
npm install
npx electron-forge import
4、调试
npm run start
5、打包
npm run make
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。