1 开发环境:node环境
2 下载electron:npm install electron --save-dev
3 package.json配置如下:
{ "name": "demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "electron ." }, "author": "", "license": "ISC", "devDependencies": { "electron": "^4.0.1" } }
4 index.js代码如下:
const {app,BrowserWindow } = require("electron"); let win; function createWindow() { //创建一个新窗口 win = new BrowserWindow({ //充满全屏 webPreferences: { nodeIntegration: false }, fullscreen:true }); //加载主页面 win.loadFile("./client-small-screen-show.html"); //打开开发者工具 win.webContents.openDevTools(); //创建的窗口关闭 win.on('closed', () => { // 取消引用 window 对象,如果你的应用支持多窗口的话, // 通常会把多个 window 对象存放在一个数组里面, // 与此同时,你应该删除相应的元素。 win = null }) } app.on("open-file",()=>{ console.log(arguments); }); //程序准备完成 app.on('ready', createWindow); //程序的所有窗口关闭 app.on('window-all-closed', () => { // 在 macOS 上,除非用户用 Cmd + Q 确定地退出, // 否则绝大部分应用及其菜单栏会保持激活。 if (process.platform !== 'darwin') { app.quit() } }); //点击托盘图标的时候 app.on('activate', () => { // 在macOS上,当单击dock图标并且没有其他窗口打开时, // 通常在应用程序中重新创建一个窗口。 if (win === null) { createWindow() } }); //程序退出之前 app.on("before-quit",()=>{ console.log("haha1"); });
5 执行:npm srart,运行结果如下