Electron和vue3集成(推荐仅用于开发)

本篇我们仅实现Electron和vue3通过先运行起vue3项目,再将vue3的url地址交由Electron打开的方案,仅由Electron在vue3项目上套一层壳来达到脱离本机浏览器运行目的

1、参考快速上手 | Vue.js搭建起vue3初始项目

npm install -g vue
npm install -g @vue/cli-service
npm create vue@latest

Project name: 项目名称
以下选项我选了Yes
Add TypeScript
Add JSX Support
Add Vue Router for Single Page Application development
Add Pinia for state management

cd 项目目录

2、参考快速入门 | Electron,在vue项目里添加Electron

npm install -g electron
npm install -g @electron-forge/cli
npx electron-forge import

在项目目录下执行npm init,按Electron的要求修改一下package.json

npm init

package name: 项目名称
version: 版本
entry point: 改为main.js
author: 程序作者

3、项目根目录下编辑一个Electron的入口文件main.js

const { app, BrowserWindow } = require('electron')
const path = require('path')

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  //win.loadFile('index.html')
  win.loadURL('http://127.0.0.1:5173/') //载入vue访问地址

  win.maximize() //窗口最大化
  win.setMenu(null) //清除顶部菜单
}

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

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

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

4、项目根目录下编辑一个preload.js

window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const type of ['chrome', 'node', 'electron']) {
    replaceText(`${type}-version`, process.versions[type])
  }
})

5、为了使vue和electron正常运行,需要先运行vue,使得其url可以正常访问,然后再开启electron去加载url

此处需要安装两个库:

  • concurrently:阻塞运行多个命令,-k参数用来清除其它已经存在或者挂掉的进程
  • wait-on:等待资源,此处用来等待url可访问
npm install -S concurrently wait-on

接着修改package.json,scripts里修改dev命令,vite后添加host、port参数指定主机名和端口;新增两条命令,其中tcp:127.0.0.1:5173指定监听的端口,就是前面vue运行的端口

"scripts": {
    "dev": "vite --host 127.0.0.1 --port 5173",
    "electron": "wait-on tcp:127.0.0.1:5173 && npm run start",
    "serve": "concurrently -k \"npm run dev\" \"npm run electron\""
},

6、现在来运行整个项目

npm run serve

界面出现了,ok

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Electron集成Vue,可以按照以下步骤进行操作: 1. 首先,确保你已经全局安装了Vue CLI。如果没有安装,可以在命令行中运行以下命令进行安装: ``` npm install -g @vue/cli ``` 2. 在合适的位置创建一个新的Vue项目,可以使用以下命令: ``` vue create my-electron-app ``` 3. 在创建项目时,Vue CLI会让你选择一些配置选项。你可以选择一些常见的配置,如Babel、Router等。此外,还可以选择将项目配置为支持TypeScript。 4. 进入到项目目录中: ``` cd my-electron-app ``` 5. 安装Electron相关的依赖: ``` npm install electron --save-dev ``` 6. 在项目根目录下创建一个新的文件,命名为`main.js`。这将是Electron主进程的入口文件。在`main.js`中添加如下代码: ```js const { app, BrowserWindow } = require('electron') function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadURL('http://localhost:8080') } app.on('ready', createWindow) ``` 7. 接下来,在`package.json`文件中添加一个`start`脚本,用于启动Electron应用: ```json "scripts": { "start": "electron ." } ``` 8. 然后,运行以下命令启动Vue开发服务器: ``` npm run serve ``` 9. 最后,在另一个命令行窗口中运行以下命令启动Electron应用: ``` npm start ``` 现在,你就可以在Electron集成Vue了。在Vue开发服务器上进行开发,并使用Electron来加载和展示你的Vue应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值