记一些Electron使用方法
安装
package.json 中添加electron 的依赖
"devDependencies": {
"electron": "12.0.5"
}
最好不要在前面添加 ^
,因为要使用国内镜像下载electron包,同步不是很及时,会导致安装报网络404,想升级时去镜像网站找对应版本
electron 镜像
我使用的是这个 electron_mirror=https://mirrors.huaweicloud.com/electron/
, 将这行代码加入到 .npmrc
中
扩展 window 对象的方法
const {app, BrowserWindow} = require('electron')
const path = require('path')
function createWindow() {
const appPath = app.getAppPath()
const _win = new BrowserWindow({
width: 800,
height: 600,
icon: path.join(appPath, 'assert/hqcs-mini.ico'),
webPreferences: {
contextIsolation:false, // 先记住这个,一会说这个
nodeIntegration: true, // 先记住这个,一会说这个
preload: path.join(app.getAppPath(), 'preload.js') // 在这个 preload.js中扩展 window 对象
},
autoHideMenuBar: true
})
_win.loadURL(“www.your_page.com”).catch(function (e) {
console.log(e)
});
return _win
}
preload.js
window.CustomApi = {} // 这样就可以了
- 第一个重点
12.0.0 版本以后 contextIsolation 一定要设置为false ,原因看这里吧 , 否则即使你在 preload.js 中 扩展了 window 对象,也不可以在远程页面中访问
- nodeIntegration 这个参数一定要为 true ,要不扩展 window对象也没什么意思,失去了调用本地接口的能力(不知道这里说的准确不)