對electron了解之后,讓我們學習創建一個窗口,使用自己的編寫的窗口
搭建環境可以看https://www.cnblogs.com/zhoulifeng/p/12306050.html
Menu菜單
創建一個menu.js文件,編寫一下代碼,結構相當於JSON格式的
const { Menu } = require('electron') const template = [{ label: '首頁' }, { label: '新聞資訊', submenu: [{ label: '國內新聞', submenu: [{ label: '北京新聞' }, { label: '河南新聞' }] }, { label: '國際新聞' }] }, { label: '娛樂', submenu: [{ label: '音樂' }, { label: '電影' }, { label: '綜藝' }] }, { label: '科技', submenu: [{ label: 'Al' }, { label: '手機' }, { label: '互聯網' }] } ] var list = Menu.buildFromTemplate(template) Menu.setApplicationMenu(list)
創建主入口文件main.js文件
在ready生命周期中,直接加入下面的代碼,
const electron = require('electron') //引入electron模塊 var app = electron.app //創建electron引用 var BrowserWindow = electron.BrowserWindow; //創建窗口引用
require(’./openMenu/menu.js’)
主入口js var mainWindow = null; //聲明要打開的主窗口 app.on('ready', () => { //設置窗口的大小 mainWindow = new BrowserWindow({ width: 900, height: 900, webPreferences: { nodeIntegration: true } }) require('./openMenu/menu.js') mainWindow.loadFile('menu.html'); //要加載的文件 //監聽關閉事件,在把主窗口設置位null mainWindow.on('closed', () => { mainWindow = null; }) })
這時候我們打開終端輸入electron .
之后,就可以看到效果了,
如果想給菜單綁定點擊事件,在menu.js引入BrowserWindow
模塊
如果要打開新的窗口,就必須要創建新的html文件
const { Menu, BrowserWindow } = require('electron')
對需要的菜單綁定事件
{ label: '國際新聞', click: () => { var open = new BrowserWindow({ width: 500, height: 500, webPreferences: { nodeIntegration: true } }) open.loadFile('yellow.html') open.on('close', () => { open = null }) }, }