【开源鸿蒙跨平台开发学习笔记 】用 Electron 构建你的第一个桌面应用
进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制进去,然后ctrl+s保存退出去将文件名改为index文件拓展名改成.html。进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制进去,然后ctrl+s保存退出去将文件名改为main文件拓展名改成.js。进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制
本篇文章参考大佬文章,大佬文章链接如下
https://blog.csdn.net/2302_80329073/article/details/155160346
一、项目运行环境准备
1.1安装 Node.js
注意Node.js v22 不兼容 Electron 截至 2025 年初,Electron 最高支持 Node.js v20.x
确保你已安装 Node.js(建议使用 LTS 版本)。在终端中运行:
node -v
npm -v

如果版本过高,🔗 直接下载链接示例(v20.14.0):
https://nodejs.org/dist/v20.14.0/node-v20.14.0-x64.msi
如果版本过高
下载完之后运行安装程序
- 双击 .msi 文件;
- 按照向导一步步安装(建议默认选项);
- 安装完成后,重启终端(PowerShell 或 CMD)。
1.2更换适配的npm版本
node版本和npm版本要兼容,这里需要更改一下npm版本
npm install -g npm@10.8.0

1.3创建项目目录
我在D盘下创建了一个my-electron-app目录
![]()
1.4安装 Electron
进入my-electron-app目录终端
执行
npm install -g cnpm --registry=https://registry.npmmirror.com
再执行
cnpm install --save-dev electron

命令成功运行之后,再终端执行npx electron --version命令查看是否安装成功

二、编写主进程代码
2.1创建主进程入口文件 main.js
进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制进去,然后ctrl+s保存退出去将文件名改为main文件拓展名改成.js

代码如下:
// main.js
const { app, BrowserWindow } = require('electron');
const path = require('path');
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js') // 可选:用于安全注入脚本
}
});
// 加载本地 HTML 文件
win.loadFile('index.html');
}
// 当 Electron 初始化完成后触发
app.whenReady().then(() => {
createWindow();
// macOS 下即使所有窗口关闭,应用也不退出
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
});
// 所有平台:当所有窗口关闭时退出应用
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
2.2创建页面内容(渲染进程)
进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制进去,然后ctrl+s保存退出去将文件名改为index文件拓展名改成.html

代码如下:
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>我的第一个 Electron 应用</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background: #f0f0f0;
}
h1 {
color: #333;
}
</style>
</head>
<body>
<h1>Hello, Electron!</h1>
</body>
</html>
2.3添加预加载脚本
出于安全考虑,Electron 默认禁用了渲染进程对 Node.js API 的直接访问。如需在页面中调用部分 Electron 功能,可通过 preload.js 暴露有限接口。
进入到my-electron-app目录,新建一个.txt记事本文件把下面代码复制进去,然后ctrl+s保存退出去将文件名改为preload文件拓展名改成.js

代码如下:
// preload.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]);
}
});
2.4配置启动脚本
打开 package.json,添加启动命令,添加完后package.json代码如下:
{
"name": "my-electron-app",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"devDependencies": {
"electron": "^39.2.5"
}
}
三、环境搭建完毕开始运行应用
进入my-electron-app终端输入npm start
项目运行成功

四、注意事项
4.1注意事项一
上面四个文件的添加均是在my-electron-app目录下添加

4.2注意事项二
Electron 降低了桌面开发门槛,但也要注意其资源占用较高的特点。合理使用,它将成为你构建跨平台工具的强大利器。
总体来说没有遇到什么太大的问题,主要就是版本号哪里需要注意一下,node和npm版本过高的需要注意一下,更换一下版本
更多推荐


所有评论(0)