vue+electron开发————创建electron应用

electron核心内容

  • 架构:Electron使用Chromium作为其渲染引擎,这使得开发者可以使用HTML、CSS和JavaScript编写应用程序的用户界面。它还使用Node.js作为后端运行环境,以便访问操作系统的底层功能。

  • 跨平台:Electron允许开发者使用相同的代码库构建适用于多个操作系统(如Windows、macOS和Linux)的应用程序。这意味着您可以在不同的平台上开发一次,并且应用程序在各个平台上具有相同的外观和功能。

  • 扩展性:Electron支持使用第三方模块和库来扩展应用程序的功能。通过使用npm(Node.js的包管理器),开发者可以轻松地集成各种功能,例如文件系统访问、数据库连接、网络请求等。

  • 丰富的生态系统:Electron拥有庞大的开发者社区,并且有许多现成的插件和工具可供使用。这些插件和工具可以帮助您快速构建功能强大的应用程序,并解决常见的开发需求。

  • 著名应用程序:许多知名的应用程序使用Electron作为其核心框架,包括Visual Studio Code、Atom、Slack、GitHub Desktop等。这些应用程序的成功证明了Electron在构建高质量桌面应用程序方面的能力。

创建一个electron项目

新建一个文件夹electron-project,输入以下命令创建

npm init

一直回车我们会得到以下package.json文件

bash 复制代码
{
  "name": "electron-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

安装electron(推荐使用yarn,后期会讲为什么)

yarn add --dev electron

安装完成后 package.json script下增加启动命令

json 复制代码
"start": "electron .",

创建main.js 作为入口文件

scss 复制代码
const { app, BrowserWindow } = require('electron')
// 创建一个桌面应用窗口
const createWindow = async () => {
    const win = new BrowserWindow({
        width: 800,
        height: 600
    })

    await win.loadFile('index.html') //加载首页的文件
    //打开开发者工具
    await win.webContents.openDevTools();
}
//在 Electron 中,只有在 app 模块的 ready 事件被激发后才能创建浏览器窗口。 您可以通过使用 app.whenReady() API来监听此事件。 在whenReady()成功后调用
app.whenReady().then(() => {
    createWindow()

    app.on('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) createWindow()
    })
})

// 在Windows和Linux上,关闭所有窗口通常会完全退出一个应用程序。为了实现这一点,你需要监听 app 模块的 'window-all-closed' 事件 点击关闭完全退出
app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
})

然后创建一个入口主页面index.html

xml 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>第一个electron应用</title>
</head>
<body>
    <div>hello,word</div>
</body>
</html>

修改package.json 主入口

npm run start

启动获得以上一个窗口应用

以上就是创建一个简单electron应用的方法,完结撒花

下章讲解vue+electron 项目创建到开发最方便的方式

相关推荐
大家的林语冰9 分钟前
CSS 已死?DOM 性能黑洞!Pretext 排版革命让你在文本间跳舞,没有 DOM 也能纵享丝滑~
前端·javascript·css
vipbic19 分钟前
我也该升级了,陪伴了我7年的博客
前端
Lee川39 分钟前
RAG 实战:从一篇掘金文章出发,拆解检索增强生成的全链路
前端·人工智能·后端
Lee川1 小时前
MCP 高德地图实战:当 AI 学会使用工具,一个协议如何重塑大模型的行动边界
前端·人工智能·后端
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_14:(尺寸调整技能测试与实战解析)
前端·css·ui·html·tensorflow
kyriewen1 小时前
用魔法打败魔法:我让AI替我去面试前端岗,AI面试官给我打了92分,还发了offer
前端·javascript·面试
IT_陈寒1 小时前
Redis批量删除踩了坑,原来DEL命令不是万能的
前端·人工智能·后端
lichenyang4531 小时前
鸿蒙聊天 Demo 练习 06:AI 思考气泡与 MVVM + Controller 结构重构
前端
Lkstar2 小时前
Vue keep-alive 原理全解:LRU 缓存策略、源码级理解
前端·vue.js·面试
会联营的陆逊2 小时前
html2canvas 1.4.1 在 iOS Safari 中生成图片卡住的问题排查与修复
前端