vue3+vite+electron项目搭建步骤

初始化vite

npm init vite
  1. 创建项目名称
    创建项目的名称
  2. 选择Vue
    13
  3. 我这里选择的是js,你们可以自定义选择
    在这里插入图片描述
  4. 根据以下代码依次执行
cd electron-demo   // 进入项目
npm install   // 安装依赖
npm run dev    //启动

集成electron

  1. 安装electron
npm install electron -D
  1. 在根目录下新建一个electron文件夹,在文件夹里新建文件main,js
    在这里插入图片描述
  2. 修改packge.json文件里的入口
"main":"electron/main.js"

在这里插入图片描述

  1. 在main.js里新增如下代码
// electron 模块可以用来控制应用的生命周期和创建原生浏览窗口
const { app, BrowserWindow } = require('electron')
const path = require('path')

const createWindow = () => {
  // 创建浏览窗口
  const mainWindow = new BrowserWindow({
    width: 1000,
    height: 800,
    webPreferences: {
     // preload: path.join(__dirname, 'preload.js')
    }
  })

  // 加载 index.html
  mainWindow.loadFile('index.html')

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

// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
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()
})

// 在当前文件中你可以引入所有的主进程代码
// 也可以拆分成几个文件,然后用 require 导入。
  1. 安装nodemon
npm i nodemon -D
  1. 在packge.json文件里新增electron启动脚本
"start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue"

在这里插入图片描述

  1. 启动electron
npm start

如果启动包如下错误
在这里插入图片描述
删除掉packge.json里面的type就行,因为electron依赖的是node而不是es6
在这里插入图片描述
重新运行

npm start

出现如下窗口
在这里插入图片描述
把main.js里面的
在这里插入图片描述
改成

 mainWindow.loadURL('http://127.0.0.1:5174')  //后面的地址为你本地启动的地址

如下图就已经启动成功
在这里插入图片描述

  1. 设置窗口状态
npm i electron-win-state -D

修改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 mainWindow = new BrowserWindow({
  // 自定义窗口状态
    ...winState.winOpions,
    // 定义预加载的js
    webPreferences: {
     // preload: path.join(__dirname, 'preload.js')
    }
  })
  1. 定义预加载的js
    在electron文件夹里新建preload.js文件,新增如下代码
// 所有的 Node.js API接口 都可以在 preload 进程中被调用.
// 它拥有与Chrome扩展一样的沙盒。
window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const dependency of ['chrome', 'node', 'electron']) {
    replaceText(`${dependency}-version`, process.versions[dependency])
  }
})
  1. 在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 mainWindow = new BrowserWindow({
  // 自定义窗口状态
    ...winState.winOpions,
    // 定义预加载的js
    webPreferences: {
    preload: path.join(__dirname, './preload.js')
    }
  })
  1. 严格模式
    如果打开控制台出现如下界面
    在这里插入图片描述
    在index.html文件里或者main.js里添加以下代码
    在这里插入图片描述
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline';">

在这里插入图片描述

process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';

此时vue3+vite+electron的基本搭建已将完成,希望对你有所帮助
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个基于 Vue3、ViteElectron 的项目,可以按照以下步骤进行: 1. 创建一个空的文件夹,打开终端并进入该文件夹,执行以下命令: ```bash npm init -y ``` 2. 安装依赖: ```bash npm install --save-dev vue@next @vitejs/plugin-vue @vue/compiler-sfc electron vite electron-builder ``` 3. 在项目根目录下创建一个 `src` 文件夹,用于存放 Vue 代码。 4. 在项目根目录下创建一个 `main.js` 文件,用于启动 Electron 应用程序。在该文件中编写以下代码: ```javascript const { app, BrowserWindow } = require('electron') const path = require('path') function createWindow () { // 创建浏览器窗口 const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, }, }) // 加载 Vue 项目 win.loadURL(`file://${path.join(__dirname, '../dist/index.html')}`) } app.whenReady().then(() => { createWindow() app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) ``` 5. 在项目根目录下创建一个 `vite.config.js` 文件,用于配置 Vite。在该文件中编写以下代码: ```javascript const { defineConfig } = require('vite') const vue = require('@vitejs/plugin-vue') module.exports = defineConfig({ plugins: [vue()], build: { outDir: '../dist', }, }) ``` 6. 在 `package.json` 文件中添加以下脚本: ```json "scripts": { "serve": "vite", "build": "vite build", "electron": "electron ." } ``` 7. 在终端中执行以下命令启动开发服务器: ```bash npm run serve ``` 8. 在终端中执行以下命令启动 Electron 应用程序: ```bash npm run electron ``` 现在,你已经成功搭建了一个 Vue3、ViteElectron 的项目。可以在 `src` 文件夹中编写 Vue 代码,然后使用 `npm run build` 命令打包应用程序。打包完成后,可以在 `dist` 文件夹中找到生成的可执行文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值