Electron桌面端构建

Electron 是一个开源框架,用于构建跨平台的桌面应用程序。它由 GitHub 开发,并且基于 Node.js 和 Chromium 构建。Electron 允许开发者使用 Web 技术(HTML、CSS 和 JavaScript)来创建桌面程序,可以在 Windows、macOS 和 Linux 等操作系统上运行。

Electron 的核心是一个使用 Chromium 运行时的 JavaScript 运行环境。它将你的应用程序和本地操作系统进行了解耦,使你可以使用 Web 技术来构建界面和处理用户交互,并且可以访问本地的系统资源和功能,如文件系统、网络等。这使得 Electron 非常适合开发跨平台的桌面应用程序,如文本编辑器、IDE、音乐播放器等。

Electron 还有丰富的插件生态系统,开发者可以通过使用第三方插件来扩展应用程序的功能,如添加通知、文件拖放、快捷键等。

Electron 提供了一种简单、灵活且强大的方式来开发跨平台的桌面应用程序,同时利用 Web 技术的优势和丰富的插件生态系统,使开发过程更加高效和便捷。

启动项目

java 复制代码
npm install -g @vue/cli  //安装 Vue CLI
vue create my-vue-electron-project //创建一个新的 Vue.js 项目
cd my-vue-electron-project //进入目录
npm install electron --save-dev //安装 electron 及其他必要的依赖

创建main.js

scss 复制代码
const { app, BrowserWindow } = require('electron')

function createWindow () {
  // 创建浏览器窗口
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  })

  // 加载 Vue 应用的 index.html 文件
  win.loadURL('http://localhost:8080')

  // 打开开发者工具
  win.webContents.openDevTools()
}

// 当 Electron 完成初始化并准备创建浏览器窗口时调用此方法
app.whenReady().then(createWindow)

// 在所有窗口关闭时退出应用
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow()
  }
})

修改pacakge.json文件,添加 Electron 的配置。在package.json文件的scripts部分,换成electron的配置

json 复制代码
"scripts": {
  "serveserve": "vue-cli-service build && electron .",
  "build": "vue-cli-service build",
  "lint": "vue-cli-service lint"
},

运行 npm run serveserve

相关推荐
前端不太难3 小时前
RN 调试效率低,一点小改动就需要重新构建?解决手册(实战 / 脚本 / Demo)
前端·react native·重构
是谁眉眼3 小时前
vue环境变量
前端·javascript·vue.js
3秒一个大3 小时前
JSX 基本语法与 React 组件化思想
前端·react.js
鹏北海-RemHusband3 小时前
Vue 组件解耦实践:用回调函数模式替代枚举类型传递
前端·javascript·vue.js
用户6600676685393 小时前
斐波那契数列:从递归到缓存优化的极致拆解
前端·javascript·算法
海上彼尚3 小时前
vite+vue3 ssg预渲染方案
前端·javascript·vue.js
初辰ge3 小时前
做后台系统别再只会单体架构了,微前端才是更优解
前端·架构
风止何安啊3 小时前
React 入门秘籍:像搭积木一样写网页,JSX 让开发爽到飞起!
前端·react.js·前端框架
whyfail3 小时前
React原理(暴力版)
前端·react.js
shoa_top3 小时前
一文带你掌握 JSONP:从 Script 标签到手写实现
前端·面试