Sakurairo

加载中...

首页文章专题归档关于友链

主题

返回文章列表
跨平台开发

Electron入门笔记-简介篇

写完直播平台,有种需要搞个配套的桌面端软件的感觉(,于是抱着充盈一下自己技术栈的考虑,先做一个小工具帮我干干跑签到脚本的活。看了一圈桌面端开发,比较符合技术栈学习成本比较低的还得是Electron (最爱Chromium的一集)。别问为啥不...

2024-10-252 分钟 44 阅读

发布于 2024-10-25 05:53

·

作者:八云澈

写完直播平台,有种需要搞个配套的桌面端软件的感觉(,于是抱着充盈一下自己技术栈的考虑,先做一个小工具帮我干干跑签到脚本的活。看了一圈桌面端开发,比较符合技术栈学习成本比较低的还得是Electron (最爱Chromium的一集)。别问为啥不用flutter和dotnet,学习成本好高啊kora!

首先呢,去官网翻了一圈,学了一下怎么搭建一个基础的项目,但是呢官网的教程是原生HTML+JS,有点难搞(炒鸡不想写原生JS 更别说JQ 最讨厌$的一集)。一想肯定有办法跑Vue或者React,直接一个其人之道开偷,Github启动。翻了一圈,找到了个蛮好用的包可以跑Vite叫electron-vite。于是翻翻文档开始动手搭环境。

基本搭建方式(原生HTML+JS)

Bash
1 2mkdir script_plateform3 4cd script_plateform5 6touch index.html7 8touch main.js9 10yarn init 11 12yarn add electron --dev
HTML
1//index.html2 3<!DOCTYPE html>4<html lang="en">5<head>6    <meta charset="UTF-8">7    <meta name="viewport" content="width=device-width, initial-scale=1.0">8    <meta http-equiv="X-UA-Compatible" content="ie=edge">9    <title>test</title>10</head>11<body>12    hello world13</body>14</html>15 
js
1//main.js2//主进程3 4//引入electron模块5var electron =require('electron');6 7//nodejs中的path模块8var path=require('path');9 10//创建electron引用     控制应用生命周期的模块11var app=electron.app;     12 13//创建electron BrowserWindow的引用          窗口相关的模块14var BrowserWindow=electron.BrowserWindow;15 16//变量 保存对应用窗口的引用17var mainWindow=null;18 19function createWindow(){20    //创建BrowserWindow的实例 赋值给mainWindow打开窗口   21    mainWindow=new BrowserWindow({width:800,height:600,webPreferences: {22        nodeIntegration: true23    }}); 24  25    mainWindow.loadFile(path.join('index.html'));26    //开启渲染进程中的调试模式27    mainWindow.webContents.openDevTools();28 29    mainWindow.on('closed',()=>{30        mainWindow=null;31    })    32 33}34 35app.on('ready',createWindow)36 37// 当所有的窗口被关闭后退出应用   Quit when all windows are closed.38app.on('window-all-closed', () => {39    // On OS X it is common for applications and their menu bar40    // to stay active until the user quits explicitly with Cmd + Q41 42    // 对于OS X系统,应用和相应的菜单栏会一直激活直到用户通过Cmd + Q显式退出43    if (process.platform !== 'darwin') {44      app.quit();45    }46  });47  48//macos49app.on('activate', () => {50// 对于OS X系统,当dock图标被点击后会重新创建一个app窗口,并且不会有其他51    if (mainWindow === null) {52        createWindow();53    }54});

到这里基本环境就搭建完了,接下来我们讲讲怎么用electron-vite装个vue3。

利用electron-vite搭建项目

PS:要求node版本>18+和vite版本4.0+

Bash
1yarn add electron-vite -D

然后就是简简单单的yarn跑一下

Bash
1yarn create @quick-start/electron my-app --template vue

项目搭建的时候是和vite差不多的都可以使用不同的模板进行搭建 具体的模板可以看这个快速开始 | electron-vite

到这里我们就搭建好了项目,接下来我们可以研究研究electron的线程了。

八云澈

Writer · Recorder

八云澈(Bayunche)

开发者 / 写作者 / 普通生活记录者 · 中国 · 深圳

喜欢把工作里的技术问题、读书时的触动、生活中的琐碎观察慢慢写下来。既想把复杂问题讲清楚,也想留住那些很快会被忘掉的日常。

Java 后端Go 工程化读书札记生活记录日常随笔

Continue Reading

相关文章

更多文章

上一篇

网安入门笔记

2024-09-12

下一篇

Electron入门笔记-线程篇

2024-10-25

评论区

读完这篇文章后,如果你也有类似经验或不同看法,欢迎继续交流。

💬 评论