Electron之初体验

Electron是一款使用HtmlCssJS开发跨平台桌面应用的框架。

话不多说直接开搞。

必坑指南:

  • node版本>=18.0

  • 使用淘宝镜像安装npm相关包;

  • 把下面两行配置放到你的npmrc文件中

    复制代码
    electron_mirror=https://npm.taobao.org/mirrors/electron/
    ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/

创建项目

使用下面命令创建一个空项目

shell 复制代码
mkdir electron-demo && cd electron-demo
npm init

安装electron依赖包,等待安装完成

shell 复制代码
cnpm install --save-dev electron

写代码

创建index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <h1 id="hello"></h1>
</body>
</html>

创建preload.js,会在应用加载渲染进程之前执行这个文件的代码

js 复制代码
// dom内容加载成功的监听
window.addEventListener('DOMContentLoaded', () => {
	// 加载页面成功之后设置元素的内容
    const element = document.getElementById('hello')
    element.innerText = 'Hello,Electron!'
})

创建main.js,整个项目的入口js文件

js 复制代码
const { app, BrowserWindow } = require('electron')
const {join} = require("path");

// 创建应用窗口
const createWindow = () => {
    const win = new BrowserWindow({
    	// 窗口尺寸
        width: 800,
        height: 600,
        webPreferences: {
        	// 设置渲染前执行的js文件
            preload: join(__dirname, 'preload.js')
        }
    })
    // 加载的html文件
    win.loadFile('index.html')
}

app.whenReady().then(() => {
    createWindow()
})

启动项目

修改package.json

设置入口js文件

json 复制代码
  "main": "main.js",

设置启动脚本

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

执行脚本

shell 复制代码
npm start

正常情况会出现下面这个窗口

相关推荐
康一夏22 分钟前
React面试题,封装useEffect
前端·javascript·react.js
Full Stack Developme35 分钟前
Redis 持久化 备份 还原
前端·chrome
猪猪拆迁队1 小时前
2025年终总结-都在喊前端已死,这一年我的焦虑、挣扎与重组:AI 时代如何摆正自己的位置
前端·后端·ai编程
❆VE❆1 小时前
WebSocket与SSE深度对比:技术差异、场景选型及一些疑惑
前端·javascript·网络·websocket·网络协议·sse
ConardLi1 小时前
SFT、RAG 调优效率翻倍!垂直领域大模型评估实战指南
前端·javascript·后端
rgeshfgreh1 小时前
Java高性能开发:Redis7持久化实战
前端·bootstrap·mybatis
李剑一2 小时前
uni-app使用html5+创建webview,可以控制窗口大小、显隐、与uni通信
前端·trae
Hooray2 小时前
2026年,站在职业生涯十字路口的我该何去何从?
前端·后端
小二·2 小时前
Python Web 开发进阶实战:安全加固实战 —— 基于 OWASP Top 10 的全栈防御体系
前端·python·安全
over6972 小时前
🌟 JavaScript 数组终极指南:从零基础到工程级实战
前端·javascript·前端框架