记一些Electron使用方法

记一些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对象也没什么意思,失去了调用本地接口的能力(不知道这里说的准确不)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章