当前位置: 首页 > news >正文

electron教程(一)创建项目

一、方式①

根据官网描述将electron/electron-quick-start项目克隆下来并启动

electron/electron-quick-start地址:

GitHub - electron/electron-quick-start: Clone to try a simple Electron app

git clone https://github.com/electron/electron-quick-start.git

一、方式②

创建自己的项目

1.cmd打开运行窗口
mkdir demo-electron-app && cd demo-electron-app
npm init
2.根据提示确认

 3.修改package.json文件
{"name": "demo-electron-app","version": "1.0.0","description": "my-app","main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "ljx","license": "ISC"
}

4.安装electron 

npm容易报错,建议用cnpm

npm install --save-dev electron

package.json文件中添加运行命令

 "start": "nodemon --watch main.js --exec npm run build", // 如果没安装nodemon,这行不要"build": "electron ."

建议:在node环境中,安装nodemon,官网介绍,自行了解:诺德蒙 - NPM (npmjs.com)

安装步骤:

  1. win+r,输入cmd,打开运行窗口
  2. 输入npm install -g nodemon
  3. nodemon -v检查是否安装成功

5.创建index.html文件 
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP --><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"><title>我的app</title>
</head><body><h1>Hello World!</h1>我们正在使用 Node.js <span id="node-version"></span>,Chromium <span id="chrome-version"></span>,and Electron <span id="electron-version"></span>.
</body></html>
6.创建main.js文件

主进程文件

const { app, BrowserWindow } = require('electron')
const path = require('node:path')// 创建窗口
const createWindow = () => {// 设置窗口大小const win = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})// 当前窗口显示的页面win.loadFile('index.html')
}// app启动后创建窗口
app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 关闭所有窗口时退出应用
app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})
7.创建preload.js文件

预加载文件,通过 contextBridge 定义一个全局变量 versions 的示例如下:

const { contextBridge } = require('electron/renderer')contextBridge.exposeInMainWorld('versions', {node: () => process.versions.node,chrome: () => process.versions.chrome,electron: () => process.versions.electron
})
8.创建renderer.js文件

通过全局变量 versions 可以获取浏览器/node/electron版本信息,并将这些信息插入到html中

const information = document.getElementById('info')
information.innerText = `本应用正在使用 Chrome (v${versions.chrome()}), Node.js (v${versions.node()}), 和 Electron (v${versions.electron()})`

 在index.html文件中添加id=info的标签,并引入render.js文件

<div id="info"></div><script src="./renderer.js"></script>
 9.启动看效果
npm run build

http://www.lryc.cn/news/389840.html

相关文章:

  • 如何在Oracle、MySQL、PostgreSQL上终止会话或取消SQL查询
  • 3、FTL基本工作过程
  • 微信小程序的跳转页面
  • 深入理解 Java 中的线程间通信:`wait()`, `notify()`, `notifyAll()`
  • 23种设计模式【创建型模式】详细介绍之【单例模式】
  • 某汽车配件制造公司任职资格体系项目成功案例纪实
  • 【Linux】生物信息学常用基本命令
  • React Native V0.74 — 稳定版已发布
  • Python面试宝典第4题:环形链表
  • Kubernetes (K8s) 底层原理
  • 解析Kotlin中的委托(包括类委托,属性委托)【笔记摘要】
  • vue3+ts+uniapp+vite+pinia项目配置
  • 大数据开发语言 Scala(四):面向对象编程
  • C++ //练习 14.31 我们的StrBlobPtr类没有定义拷贝构造函数、赋值运算符及析构函数,为什么?
  • 通配符和正则表达式之间的关系
  • GY-30光照传感器软件I2C方式驱动代码,基于STM32Cube
  • 双相元编程:一种新语言设计方法
  • 基于SpringBoot校园外卖配送系统设计和实现(源码+LW+调试文档+讲解等)
  • 茗鹤APS高级计划排程系统,在集团多工厂协同生产下的应用
  • 分享六款免费u盘数据恢复工具,U盘恢复工具集合【工具篇】
  • Linux 的启动流程
  • 思维导图插件--jsMind的使用
  • mac上使用finder时候,显示隐藏的文件或者文件夹
  • 泰雷茲具有首个通过FIPS 140-3 三级认证的HSMs
  • 美术馆预约小程序的设计
  • 序列化Serializable
  • 编写静态库
  • hive的表操作
  • 基于多视点编码光场的全景三维重建方法
  • Spring Boot中的分布式文件系统