流浪のwolf

卷帝

导航

1. Electron开发

electron 集成了chrome内核和nodejs ;跨平台 ;

主进程:一个应用只有一个主进程,只有主进程可以和GPU的API交互 ;

渲染进程:展示页面,一个应用可以有多个渲染进程 ;

electron 环境搭建 :nodejs 

 

const { app, BrowserWindow } = require('electron')  // CommoonJS 
//  创建窗口 createWindow 函数
const createWindow = () => {
    const win = new BrowserWindow({
      width: 800,
      height: 600
    })
    console.log('ready',111111111111111111);
    // 把 index.html 加载到 win 实列
    win.loadFile('index.html')  // 指定显示内容
    // 生命周期 一共有 8 个
    // 可以控制DOM元素  加载dom结束之后
    win.webContents.on('did-finish-load',() => {
        console.log('333333333333333333---');
    })

    win.webContents.on('dom-ready',() => {
        console.log('22222222222222---');
    })

   
    win.on("close",() => {
        console.log("88888----this window is closed")
        win = null  // 内存机制垃圾回收
    })
}

// 调用函数
app.on("ready",createWindow)

// PS:window-all-closed 和 before-quit will-quit quit 
app.on('window-all-closed',() => {
    console.log('444444--所有的窗口关闭')
    // 如果app不执行quit方法  before-quit will-quit quit  三个生命周期就不能监听到
    app.quit()
})

app.on('before-quit',() => {
    console.log('5555--应用退出之前')
})

app.on('will-quit',() => {
    console.log('66666--将要退出前')
})

app.on('quit',() => {
    console.log('77777--退出之后')
})

// ps:窗口有 3 个生命周期 app 有 5 个生命周期

 

                        

posted on 2023-09-02 18:10  流浪のwolf  阅读(20)  评论(0编辑  收藏  举报