vite+vue3+electron搭建项目

本文详细介绍了如何使用VSCode编辑器初始化Vite项目,下载依赖,配置Electron入口,安装nodemon监控并启动Electron应用,以及管理窗口大小和预加载JS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编辑器使用vscode,打开一个空文件夹

第一步 初始化vite项目

初始化vite项目,命令 npm init vite 

在这里插入图片描述

第二步 下载依赖

进入新建的项目,下载依赖,命令 
cd vite-projec 
npm i

在这里插入图片描述

第三步 使用cnpm下载 electron依赖

新建一个终端,确认在项目目录下,运行命令 
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm i electron -D
成功将在package.json里面新增electron依赖

在这里插入图片描述
在这里插入图片描述

第四步 新建main.js文件与入口

1、项目目录下新建main.js文件
2、package.json里面新增配置  "main": "main.js",

在这里插入图片描述
main.js内容如下:

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

const createWindow = () => {
    const win = new BrowserWindow({
        width: 1000,
        height: 800
    })
	// 如果没有修改vite端口 默认为5173
    win.loadURL("http://localhost:5173")
}

app.whenReady().then(() => {
  createWindow();
  
  app.on('activate', () => {
    // 在 macOS 系统内, 如果没有已开启的应用窗口
    // 点击托盘图标时通常会重新创建一个新窗口
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
});

// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此, 通常
// 对应用程序和它们的菜单栏来说应该时刻保持激活状态, 
// 直到用户使用 Cmd + Q 明确退出
app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
  })

第五步 安装nodemon启动eletron

Nodemon 是一款非常实用的工具,用来监控你 node.js 源代码的任何变化和自动重启你的服务器。
查看帮助命令 npx nodemon --help
1、安装命令 
cnpm i nodemon -D
2、package.json文件新增启动命令
"start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue"

在这里插入图片描述
在这里插入图片描述
运行 npm start ,如果运行出错,删掉package.json里面 “type”: “module”,
在这里插入图片描述

安装electron-win-state控制窗口大小与打开调试窗口

1、 安装命令 cnpm i electron-win-state -D
2、main.js引入electron-win-state

在这里插入图片描述
main.js引入electron-win-state

const { app, BrowserWindow } = require("electron");
// 引入
const WinState = require('electron-win-state').default

const createWindow = () => {
	// 默认宽高
  const winState = new WinState({
    defaultWidth: 1000,
    defaultHeight: 800
  }) 
  const win = new BrowserWindow({
    // 删掉之前的宽高,使用winState来接管
    ...winState.winOptions,
    webPreferences: {
        // preload: ''
    }
  });

  win.loadURL("http://localhost:5173");
  // 打开调试窗口
  win.webContents.openDevTools()
  // 控制打开窗口大小为上一次关闭时的大小
  winState.manage(win)
};

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

添加定义预加载的JS

1、项目目录下新建preload文件夹,文件夹下新建index.js,内容自定义
2、在main.js里引入path,将webPreferences.preload值修改为index.js的路径

在这里插入图片描述
在这里插入图片描述

完整main.js内容

const { app, BrowserWindow } = require("electron");
const path = require('path')
const WinState = require('electron-win-state').default

const createWindow = () => {

  const winState = new WinState({
    defaultWidth: 1000,
    defaultHeight: 800
  }) 
  const win = new BrowserWindow({
    // 删掉之前的大小,使用winState来接管
    // 自定义窗口状态
    ...winState.winOptions,
    webPreferences: {
        // 定义预加载的js
        preload: path.resolve(__dirname, './preload/index.js')
    },
    show: false
  });

  win.loadURL("http://localhost:3000");
  // 打开调试窗口
  win.webContents.openDevTools()
  // 控制打开窗口大小为上一次关闭时的大小
  winState.manage(win)
  // 优雅打开窗口 设置上方show: false
  win.on('ready-to-show',() => {
    win.show()
  }
  )
};

app.whenReady().then(() => {
  createWindow();
  
  app.on('activate', () => {
    // 在 macOS 系统内, 如果没有已开启的应用窗口
    // 点击托盘图标时通常会重新创建一个新窗口
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
});

// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此, 通常
// 对应用程序和它们的菜单栏来说应该时刻保持激活状态, 
// 直到用户使用 Cmd + Q 明确退出
app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
  })
要将 Vite + Vue 3 项目添加到 Electron 中,你需要进行以下步骤: 1. 首先,确保你已经安装了 Node.js 和 Electron。可以通过以下命令来安装它们: ``` npm install -g electron ``` 2. 接下来,你需要在项目根目录下创建一个名为 `main.js` 的文件,这将是 Electron 主进程的入口文件。在该文件中,你需要编写一些代码来创建 Electron 窗口,以及将 Vite + Vue 3 项目加载到窗口中。可以参考以下示例代码: ```js const { app, BrowserWindow } = require('electron') const path = require('path') function createWindow() { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, }, }) mainWindow.loadURL(`file://${path.join(__dirname, 'index.html')}`) } app.whenReady().then(() => { createWindow() app.on('activate', function () { if (BrowserWindow.getAllWindows().length === 0) createWindow() }) }) app.on('window-all-closed', function () { if (process.platform !== 'darwin') app.quit() }) ``` 3. 然后,你需要在 `package.json` 文件中添加一些脚本,以便启动 Electron 应用程序。可以参考以下示例代码: ```json { "scripts": { "start": "vite dev", "electron": "electron ." } } ``` 4. 最后,你需要在命令行中运行以下命令来启动 Electron 应用程序: ``` npm run start ``` 在另一个终端窗口中运行以下命令: ``` npm run electron ``` 这将启动 Vite + Vue 3 项目Electron 应用程序。现在,你可以在 Electron 窗口中看到你的 Vue 3 应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值