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

index.html

javascript 复制代码
<!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

javascript 复制代码
//引入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

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

看效果,命令行运行

javascript 复制代码
npm start

效果图

相关推荐
前端一课1 天前
【前端每天一题】🔥 第 13 题:原型链查找规则是什么?为什么对象能访问到方法?
前端·面试
前端一课1 天前
【前端每天一题】🔥 第 11 题:this 的指向规则(前端高频必考题)
前端·面试
一 乐1 天前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
北极糊的狐1 天前
父组件向子组件传参时,传递数组和对象类型的参数的方法
前端·javascript·vue.js
前端一课1 天前
【前端每天一题】🔥 第 9 题:防抖(debounce)与节流(throttle)的区别?如何实现?
前端·面试
前端一课1 天前
【前端每天一题】🔥 第 10 题:浅拷贝 vs 深拷贝?如何手写深拷贝?
前端·面试
前端一课1 天前
【前端每天一题】🔥 第 8 题:什么是事件委托?它的原理是什么?有哪些优点和常见坑? - 前端高频面试题
前端·面试
前端一课1 天前
【前端每天一题】🔥第7题 事件冒泡与事件捕获 - 前端高频面试题
前端·面试
前端一课1 天前
【前端每天一题】 第 5 题:Promise.then 执行顺序深入题(微任务队列机制)
前端·面试
前端一课1 天前
【前端每天一题】🔥 事件循环第 6 题:setTimeout(fn, 0) 执行时机详解
前端·面试