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

electron项目开发环境搭建

由于最近需要做一款跨平台的桌面应用,所以选择使用electron来作为开发的框架,下面说一下如何搭建一个简单的electron项目:

一、准备工作

安装git:下载git | 官网

安装node:下载 | Node.js 中文网

安装npm/cnpm:npm install -g cnpm --registry=https://registry.npm.taobao.org 

安装electron:cnpm install -g electron

验证安装是否完成:electron -v / node -v

二、新建工程

1.  新建目录命名为electronDemo,使用npm init -y 新建一个前端工程,在package.json中增加一行"main": “main.js”,这行代表应用程序的入口是main.js文件。

{"name": "electron-quick-start","version": "1.0.0","description": "A minimal Electron application","main": "main.js","scripts": {"start": "electron ."},"repository": "https://github.com/electron/electron-quick-start","keywords": ["Electron","quick","start","tutorial","demo"],"author": "GitHub","license": "CC0-1.0","devDependencies": {"electron": "^25.4.0"}
}

2. 在electronDemo目录中新建index.html文件,在body中增加了hello, electron!这行文本。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>hello, electron!
</body>
</html>

3.  在electronDemo目录中新建main.js文件,在main.js文件增加内容

const { app, BrowserWindow } = require('electron')
const path = require('path')function createWindow () {const win = new BrowserWindow({width: 800,height: 600})win.loadFile('index.html')
}app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
})app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})

app.whenReady()是app启动后的Promise,使用then可以监听对应的状态,在这个回调里面增加createWindow函数,createWindow新建了一个浏览器窗口,设置宽高,并且使用浏览器窗口加载index.html文件。

在终端运行npm run start命令,electron应用的窗口可以正常弹出。

4. 测试electron项目

调试main.js中代码,需要使用VSCode打开工程,点击左侧debug菜单,创建launch.json文件。

{"version": "0.2.0","configurations": [{"name": "Debug Main Process","type": "node","request": "launch","cwd": "${workspaceFolder}","runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron","windows": {"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"},"args" : ["."]}]
}

在main.js文件app.whenReady()的回调中增加一个断点,点击debug区域的启动程序按钮,断点可以正常执行。

三、克隆实例代码案例

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

安装完成通过npm start执行即可

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

相关文章:

  • Spring 知识点
  • 目标跟踪与检测后进行 OpenCV 人脸识别 ,马赛克
  • 持有PMP证书,可申请CSPM证书!
  • linux自定义网络访问规则
  • 247 个经典实用有趣的 Python 实例附源码
  • 动手学深度学习Pytorch 4.4练习
  • 【计算机视觉 | Kaggle】飞机凝结轨迹识别 Baseline 分享和解读(含源代码)
  • ThinkPHP文件上传:简便安全的解决方案
  • torch.multiprocessing
  • 解决本地代码commit后发现远程分支被更新的烦恼!
  • 最新AI创作系统ChatGPT程序源码+详细搭建部署教程+微信公众号版+H5源码/支持GPT4.0+GPT联网提问/支持ai绘画+MJ以图生图+思维导图生成!
  • 910数据结构(2014年真题)
  • Idea创建maven管理的web项目
  • Java并发编程(一)多线程基础概念
  • D. Strong Vertices - 思维 + 二分
  • 8月9日上课内容 nginx负载均衡
  • 为何我们都应关心算法备案?
  • [IDEA]使用idea比较两个jar包的差异
  • HTML笔记(2)
  • 前端大屏自适应缩放
  • 【Express.js】全面鉴权
  • 了解华为(H3C)网络设备和OSI模型基本概念
  • Web3到底是个啥?
  • 山东高校的专利申请人经常掉进的误区2
  • 关于webpack的基本配置
  • SpringBoot WebSocket配合react 使用消息通信
  • 【积水成渊】uniapp高级玩法分享
  • 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
  • API接口 |产品经理一定要懂的技术知识
  • C++中访问存储在数组中的数据