vite+electron构建一个VUE3桌面应用

前言

Electron 是由Github开发的,用HTML , CSS 和JavaScript 来构建的跨平台桌面应用程序的一个开源库。 Electron 通过将Chromium 和Node.js 合并到同一个运行时环境中,并将其打包为Mac , Windows 和 Linux系统下的应用来实现这一目的。


一、安装vite

提示:这里只介绍npm下载安装。

npm init vite@latest

二、创建项目

1.找到需要创建项目的目录输入cmd

在这里插入图片描述

2.输入命令npm init vite,选择自己需要使用的框架

在这里插入图片描述

3.进入项目并运行

1、cd + 文件名
2、npm install
3、npm run dev

显示下面页面就表示项目已经启动成功。
在这里插入图片描述

三、安装electron

1.输入下面的命令进行electron安装,electron的更新是很快的,本次用到的版本是20.1.0。

npm i electron -S

提示以下页面就表示安装好了:
在这里插入图片描述

2.在根目录下创建文件main.js,文件名可以根据自己需求创建。

tips:main.js是与项目index文件同级的.

在这里插入图片描述

3.在main.js中写入以下配置文件。

// 控制应用生命周期和创建原生浏览器窗口的模组
const {
    
     app, BrowserWindow } = require('electron')
const path = require('path')

process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = true; // 关闭控制台的警告
 
function createWindow () {
    
    
  // 创建浏览器窗口
  const mainWindow = new BrowserWindow({
    
    
    width: 800,
    height: 600,
    webPreferences: {
    
    
      // 书写渲染进程中的配置
      nodeIntegration: true, //开启true这一步很重要,目的是为了vue文件中可以引入node和electron相关的API
      contextIsolation: false, // 可以使用require方法
      enableRemoteModule: true, // 可以使用remote方法
    }
  })
 
  // 加载 index.html
  mainWindow.loadFile(path.resolve(__dirname, './dist/index.html')) // 新增

 
  // 打开开发工具
  mainWindow.webContents.openDevTools()
}
 
// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
    
    
  createWindow()
 
  app.on('activate', function () {
    
    
    // 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他
    // 打开的窗口,那么程序会重新创建一个窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})
 
// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在
// 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。
app.on('window-all-closed', function () {
    
    
  if (process.platform !== 'darwin') app.quit()
})

4.文件配置

tips:在package.json进行以下配置。main.js文件就是之前在根目录下创建的,如果在其他目录下创建这里的main也需要进行相应的修改。
在这里插入图片描述
在vite.config.js中进行路径的配置:

import {
    
     defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"

// https://vitejs.dev/config/
export default defineConfig({
    
    
  plugins: [vue()],
  base: path.resolve(__dirname, './dist/'), // 新增
  server: {
    
    
    port: 8888,
    cors: true, // 允许跨域
    hmr: true, // 开启热更新
  },
})

5.运行项目

输入:npm run electron: serve

在这里插入图片描述
这里看到项目运行起来了,但是界面没有加载出来,是因为之前我们main.js里面配置了加载文件

mainWindow.loadFile(path.resolve(__dirname, './dist/index.html')) // 打包环境

只需要在package.json文件中修改:

"electron:serve": "vite build & electron . "

然后在使用npm run electron:serve运行就可以成功显示了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45787691/article/details/126525774