Electron 将网站打包成桌面程序

依赖环境:npm、node.js

main.js

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

function createWindow() {
  const win = new BrowserWindow({
    width: 1280,
    height: 900,
    webPreferences: {
      preload: path.join(__dirname, "preload.js"),
      contextIsolation: true,
      nodeIntegration: false
    }
  });

  // 👉 如果你的 URL 是本机服务,可这样写
  win.loadURL("http://localhost:5000/view");

  // 👉 开发环境直接打开 DevTools
  // win.webContents.openDevTools();

  // 👉 注册 F12 快捷键(打包后仍可用)
  globalShortcut.register("F12", () => {
    win.webContents.openDevTools();
  });

  // 👉 右键菜单:Inspect Element
  win.webContents.on("context-menu", () => {
    win.webContents.openDevTools();
  });
}

app.whenReady().then(createWindow);

app.on("window-all-closed", () => {
  if (process.platform !== "darwin") app.quit();
});

preload.js

javascript 复制代码
// 可以留空,也可以加一些未来需要的安全暴露接口
window.addEventListener("DOMContentLoaded", () => {});

package.json

javascript 复制代码
{
  "name": "webapp-package",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "dist": "electron-builder --win --x64",
    "build": "electron-builder"
  },
  "build": {
	"electronDownload": {
      "mirror": "https://npmmirror.com/mirrors/electron/"
    },
    "appId": "pto.webtoexe",
    "productName": "PTO",
    "win": {
      "target": [
        "nsis",
        "portable"
      ]
    }
  },
  "devDependencies": {
    "electron": "^25.0.0",
    "electron-builder": "^24.13.3"
  }
}

1、将上面三个文件放到自己文件夹目录下

2、首先在自己目录下安装electron-builder

npm install electron-builder --save-dev

3、临时环境变量并运行

set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/

set ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/

npm run build

4、dist目录下可以看到打包后的exe

相关推荐
贺今宵6 小时前
electron-vue无网络环境,读取本地图片/文件展示在页面vue中protocol
前端·javascript·electron
xiaoyan20156 小时前
2026原创Electron39.2+Vue3+DeepSeek从0-1手搓AI模板桌面应用Exe
vue.js·electron·deepseek
「、皓子~9 小时前
AI 创作系列(34)海狸IM桌面版 v1.1 正式发布:Vite + Electron 性能优化与体验升级
前端·人工智能·electron·开源·开源软件·im
光影少年9 小时前
electron通信方式有哪些?
前端·javascript·electron
学海无涯,行者无疆2 天前
把 Web App 装进客户端——Tauri框架实战:托盘功能、消息通知、构建安装程序
electron·tauri·单例运行·web应用客户端化·托盘通知·tauri实战·tauri框架
林恒smileZAZ2 天前
Electron 的西天取经
前端·javascript·electron
Mr -老鬼2 天前
Electron 与 Tauri 全方位对比指南(2026版)
前端·javascript·rust·electron·nodejs·tauri
frontend_frank3 天前
脱离 Electron autoUpdater:uni-app跨端更新:Windows+Android统一实现方案
android·前端·javascript·electron·uni-app
cn_mengbei3 天前
鸿蒙PC原生应用开发避坑指南:Qt 6.6与Electron 28兼容性问题全解析
qt·electron·harmonyos
cn_mengbei3 天前
鸿蒙PC跨端开发实战:从Qt环境配置到Electron应用鸿蒙化的完整指南
qt·electron·harmonyos