Electron教程1-初学入门

玩转Electron

Electron 是什么

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux------不需要本地开发 经验。

注意事项

Electron 更新非常快

初期开发建议使用最新的稳定版

环境安装

于2024年11月,当前节点而言,建议安装node20.18.0

安装完成后
npm i -g cnpm
cnpm i -g electron 这样会全局安装最新版的electron

安装 vscode

终端中测试下指令运行,如果有权限问题运行以下指令

powershell 复制代码
Set-ExecutionPolicy Unrestricted
set-executionpolicy remotesigned #管理员打开ps并运行

安装 git

安装最新版Git以及TortoiseGit

第一个实例

找个目录比如E:\盘根目录

创建一个为 electron_study的目录

进入electron_study目录

右键选择使用 vscode 打开

勾选信任

创建 main.js

js 复制代码
console.log('Hello from Electron')

新建终端,在终端中
electron main.js

输出效果

powershell 复制代码
PS D:\_new_20231014\_linyee\electron_study> electron main.js

Hello from Electron

ctrl+c 退出运行,继续后续代码测试

第二个实例

powershell 复制代码
# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
cnpm i
# Run the app
npm start

网速慢的、克隆不下来的同学 从这里直接去下载

第二个实例解读

main.js 是入口文件,负责创建窗口并加载index.html

preload.js 是一个预加载文件,在加载index.html前会先加载这个脚本

其它文件应该一看就懂

运行效果

总结

到此你就,正确地第一个有界面的实例运行起来了。

本示例是在windows下完成,electron在mac、linux下也可以运行,大同小异。

问题解答

  • 运行出错 try installing again
    Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
    请手删除node_modules/electron并重新运行 cnpm i
相关推荐
meilindehuzi_a7 小时前
从零理解并实现 RAG:用 LangChain.js 构建语义检索问答系统
开发语言·javascript·langchain
世界哪有真情8 小时前
拿人类意识卡 AI?等于用 bug 验收正式产品
前端·人工智能·后端
鱼樱前端8 小时前
别再自己拼凑了!这款 Vue 3.5+ 严肃产品级组件库,把 AI 对话、工作流和复杂数据全包了!
javascript·vue.js·github
Listen·Rain9 小时前
Vue3:setup详解
前端·javascript·vue.js
Patrick_Wilson9 小时前
修好 bug 只是开始:一次由监控需求反向重构日志结构的复盘
前端·监控·数据可视化
kyriewen10 小时前
面试官让我优化一个卡死的表格,我打开 Claude 五秒重写,他放下咖啡问我要不要来当组长
前端·javascript·面试
小粉粉hhh10 小时前
React(二)——dom、组件间通信、useEffect
前端·javascript·react.js
Csvn11 小时前
🤖 AI 生成前端代码的 5 个典型翻车现场及修复指南
前端
IT_陈寒12 小时前
SpringBoot自动装配坑了我一天,原来问题出在这
前端·人工智能·后端
索西引擎12 小时前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js