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 项目创建到开发最方便的方式

相关推荐
IT_陈寒11 分钟前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户9385156350727 分钟前
Type vs Interface:读完这篇就没有面试官能难倒你了
前端·面试·typescript
油丶酸萝卜别吃1 小时前
jquery-ajax.js 说明文档
前端·javascript·jquery
windliang1 小时前
Claude Code 源码分析(九):子 Agent 如何分叉、继续与回到父会话
前端·javascript·面试
柒和远方2 小时前
V063: TS 面试必考:interface 与 type 的四大差异,与 LLM Harness 的自动化择优
前端·javascript
半个落月2 小时前
React useRef 详解:DOM 引用、持久化值与 Worker 实例
前端·react.js
阿黎梨梨2 小时前
TypeScript 类型编程:从新手到 Harness 工程实践
前端
黄金决明子2 小时前
Vue3 + Vite 打包后打开空白?
前端
张龙6872 小时前
终端效率翻倍实战:fzf + zoxide + ripgrep + bat 组合拳,告别重复敲命令
前端
宿6742 小时前
vue3-env环境
前端·vue.js