Electron vue项目 打包 exe文件

Electron 快速入门 1:从项目创建到打包成 EXE

Electron 允许你用 Web 技术(HTML、CSS、JavaScript)开发跨平台桌面应用。以下是「创建项目 → 本地运行 → 打包为 Windows EXE」的完整流程。

一、创建并初始化项目

  1. 新建项目目录并进入
    打开终端,执行命令创建文件夹并进入:
bash 复制代码
mkdir my-electron-app && cd my-electron-app
  1. 初始化 npm 项目
    执行 npm init(加 -y 可快速生成默认配置):
bash 复制代码
npm init -y

二、安装 Electron 依赖

将 Electron 作为开发依赖安装到项目:

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

三、配置项目入口与启动命令

1. 调整 package.json

打开 package.json,做两处修改:

  • 确保 main 字段指向主进程文件 (如 main.js,若默认是 index.js 需手动改);
  • 在 scripts 中新增 start 命令,用于启动 Electron 应用。

修改后示例:

json 复制代码
{
  "name": "my-electron-app",
  "version": "1.0.0",
  "description": "Electron 入门示例",
  "main": "main.js", // 主进程入口文件
  "scripts": {
    "start": "electron .", // 启动应用的命令
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "你的名字",
  "license": "MIT",
  "devDependencies": {
    "electron": "^27.0.0" // 实际安装的 Electron 版本
  }
}

2. 创建主进程文件 main.js

在项目根目录新建 main.js,先写测试代码验证启动:

javascript 复制代码
console.log('Hello from Electron 👋');

四、启动 Electron 应用

执行命令启动应用,终端会输出 Hello from Electron 👋:

bash 复制代码
npm run start

五、编写完整主进程逻辑(加载界面)

替换 main.js 为完整代码 ,让 Electron 启动窗口并加载界面(后续可替换为 Vue/React 打包后的 index.html):

javascript 复制代码
const { app, BrowserWindow } = require("electron");
const path = require("path");
const url = require("url");

let win; // 全局维护窗口对象,防止被垃圾回收

function createWindow() {
  // 创建浏览器窗口(可自定义宽高,示例为 375×830)
  win = new BrowserWindow({ width: 375, height: 830 });

  // 加载项目内的 index.html(后续可替换为框架打包后的页面)
  win.loadURL(
    url.format({
      pathname: path.join(__dirname, "index.html"),
      protocol: "file:",
      slashes: true,
    })
  );

  // 可选:打开开发者工具(调试用)
  // win.webContents.openDevTools()

  // 窗口关闭时,释放窗口引用
  win.on("closed", () => {
    win = null;
  });
}

// Electron 初始化完成后,创建窗口
app.on("ready", createWindow);

// 所有窗口关闭时,退出应用(macOS 除外,遵循系统交互习惯)
app.on("window-all-closed", () => {
  if (process.platform !== "darwin") {
    app.quit();
  }
});

// macOS 下点击 Dock 图标时,若无窗口则重新创建
app.on("activate", () => {
  if (win === null) {
    createWindow();
  }
});

补充:创建 index.html(测试界面加载)

在项目根目录新建 index.html,写入简单页面:

html 复制代码
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Electron 示例</title>
  </head>
  <body>
    <h1>Hello Electron!</h1>
    <p>这是 Electron 加载的页面~</p>
  </body>
</html>

再次执行 npm run start,会看到 Electron 窗口加载出上述 HTML 页面。

六、打包成 Windows EXE 文件

使用 electron-packager 工具将项目打包为 Windows 可执行程序(EXE)。

1. 全局安装 electron-packager

bash 复制代码
npm install -g electron-packager

2. 执行打包命令

在项目根目录执行以下命令(参数说明:--win 指定 Windows 平台;--out MyApp 指定输出到 MyApp 文件夹;--arch=x64 指定 64 位架构;--electron-version 需与项目中 Electron 版本一致):

bash 复制代码
electron-packager . MyApp --win --out MyApp --arch=x64 --electron-version 27.0.0 --overwrite --ignore=node_modules

3. 验证打包结果

打包完成后,MyApp 文件夹下会生成 MyApp-win32-x64 目录,进入该目录即可找到 MyApp.exe,双击即可运行 Electron 应用。

至此,从项目创建、本地调试到打包为 EXE 的流程就全部完成啦~

相关推荐
Dream-Y.ocean27 分钟前
鸿蒙PC平台星图遥感适配实战:基于 Electron 壳方案的纯 JavaScript 遥感图像处理引擎开发
javascript·electron·harmonyos
螺丝钉tina1 小时前
[Playwright ][16]Playwright + TypeScript API 自动化测试实战:API测试
前端·javascript·typescript
Highcharts.js3 小时前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
Java后端的Ai之路3 小时前
【AIAgent开发】-Agent工具封装成CLI(纯干货!!!)
java·javascript·人工智能·agent·cli
薛定谔的猫-菜鸟程序员4 小时前
Electron开发超详细教程(从入门到放弃)
前端·javascript·electron
小郎君6585 小时前
Vue 多标签页的加载态设计:为什么我没有用 Suspense 实现 PageLoading
vue.js·算法
htzyl2065 小时前
前端阶梯——第四十三章、实战二:待办清单To-Do
前端·javascript·html
yilaisai5 小时前
前端开发遇到的一些细节问题整理
vue.js
程序员大阳5 小时前
HTML+CSS+JS对话式实战(1)-开篇:认识我们要做的社团活动发布平台
javascript·css·html·实战·系统·平台·社团活动发布