Electron案例解析-编写一个简单的electron程序

时间:2024-07-18 10:38:03

目录结构
index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />

<!-- 内容安全策略-->
    <meta
            http-equiv="Content-Security-Policy"
            content="default-src 'self'; script-src 'self'"
    />

    <meta
            http-equiv="X-Content-Security-Policy"
            content="default-src 'self'; script-src 'self'"
    />
    <title>你好,Electron!</title>
</head>
<body>
<h1>你好,Electron!</h1>
<p>????</p>
<p id="info"></p>
</body>
<script src="./renderer.js"></script>
</html>

main.js

//引入electron模块 app, BrowserWindow
const {app, BrowserWindow} = require('electron/main')

//创建窗口
const createWindow = () => {
  const win = new BrowserWindow({
    //设置窗口大小 宽度800 高度600
    width: 800,
    height: 600
  })
//加载index.html
  win.loadFile('index.html')
}

//当Electron完成初始化并且准备创建窗口时调用createWindow()
app.whenReady().then(() => {
  //在应用准备就绪时调用函数
  createWindow()

  //如果没有窗口打开则打开一个窗口 (macOS) 这是兼容性处理必须的
  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

//关闭所有窗口时退出应用 (Windows & Linux) 这是兼容性处理必须的
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})

renderer.js

//这个文件是渲染进程的入口文件,负责渲染页面的显示。
console.log("renderer.js loaded")

看效果,命令行运行

npm start

效果图

在这里插入图片描述