ElectronJS 入门教程(一)

Electron是啥

Electron是一个使用 JavaScriptHTMLCSS 构建桌面应用程序的框架。 嵌入 ChromiumNode.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建在Windows上运行的跨平台应用 macOSLinux------不需要本地开发经验。 相关链接

快速入门

环境准备

先根据官方的版本日志查看对应版本所需的node版本

这里我建议通过nvm来管理node版本

安装

环境配置好之后,根据自己喜欢的方法建立项目文件夹,我这里选择使用命令行来新建文件夹

bash 复制代码
mkdir electron-app
cd electron-app

进入项目文件夹之后,先对项目进行初始化

bash 复制代码
npm init
json 复制代码
{
  "name": "electron-app",
  "version": "1.0.0",
  "description": "a electron app",
  "main": "main.js",
  "author": "JXDN",
  "license": "MIT"
}

这里我推荐入口文件跟官网规范一样命名为main.js,其他选项随意填写即可 初始化完成之后,安装依赖

bash 复制代码
npm install --save-dev electron

如果这里出现报错,则大概率是node版本不对,执行node -v查看当前node版本 安装完毕之后,在项目根目录新建main.jspreload.jsindex.html三个文件,对应文件内容如下

  • main.js
js 复制代码
const { app, BrowserWindow } = require('electron')
const path = require('node:path')

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  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()
  }
})
  • preload.js
js 复制代码
window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const type of ['chrome', 'node', 'electron']) {
    replaceText(`${type}-version`, process.versions[type])
  }
})
  • index.html
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello Electron!</title>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
    <h1>Hello Electron!</h1>
</body>
</html>

运行

完成以上所有步骤之后,在 package.json 文件中配置启动命令

json 复制代码
"scripts": {
    "start": "electron ."
}

electron .中的.是代表项目目录下的路径,可以根据自己喜欢的文件目录风格进行设置 配置好之后,运行npm start,即可成功启动项目

打包

这里我们使用Electron Forge进行打包 先安装Electron Forge脚手架

bash 复制代码
npm install --save-dev @electron-forge/cli

然后通过import将项目导入至Electron Forge

bash 复制代码
npx electron-forge import

导入成功之后,执行npm run make开始打包,打包完成之后,会在你的根目录下生成一个名为out的文件夹,其中electron-app-win32-x64目录下的electron-app.exe为项目启动文件,双击即可运行 其中默认打包的是Windows32位的64位,如下图所示:

以上就是Electron入门的基本内容了

相关推荐
SRET14 小时前
Mineradio 沙盒隔离安装完全指南 | 一键安全运行 Electron 应用!!!
javascript·经验分享·安全·electron·aigc·音视频·ai编程
三声三视1 天前
Electron 鸿蒙 PC 上关了子窗口,主窗口也卡死不动——我翻了 Chromium 源码才找到一行注释
electron·harmonyos·鸿蒙
随风一样自由2 天前
【前端+跨端技术新格局】Tauri vs Electron 完整性能对比(2026实测数据+底层原理)
前端·javascript·electron
Hyyy2 天前
每天一个知识点 —— Electron
electron
TrisighT3 天前
Electron 鸿蒙 PC 上点关闭就真退出了?我花了两天才把“最小化到托盘“做稳
electron·harmonyos
TrisighT4 天前
Electron 鸿蒙 PC 上做本地搜索,Fuse.js 比 SQLite 快 6 倍——但我愣是选了最慢的方案
electron·sqlite·harmonyos
薛定谔的猫-菜鸟程序员4 天前
从零构建一个“悬浮式“实时聊天室:Electron + Vue 3 + WebSocket + SQLite 全栈实践
vue.js·websocket·electron
TrisighT5 天前
Electron 鸿蒙 PC 上点外链唤醒应用,我试了 6 种写法只有 1 种能跑
前端·electron·harmonyos
TrisighT5 天前
Electron 跑鸿蒙 PC 上,这 4 个 API 的行为跟 Windows 完全不一样——但文档一行都没写
windows·electron·harmonyos
mCell10 天前
【锐评】桌面端技术营销:别拿跑分当工程判断
前端·rust·electron