vue + electron实现浏览器ctrl f踩过的坑

项目前提:公司用Vue开发了个项目,部署到现场后要求打包成exe应用。
**版本: Node版本 16.13.2    Electron版本 13.6.9**

1、在项目中集成Electron

  1. Vue项目添加Electron-builder打包工具, 添加成功后src文件夹下生成background.js文件
vue add electron-builder
  1. vue.config.js增加配置(打包后不加密)
pluginOptions: {
   
   
	electronBuilder: {
   
   
		builderOptions: {
   
   
			nsis: {
   
   
		         allowToChangeInstallationDirectory: true,
		         oneClick: false
			},
			electronDownload: {
   
   
				mirror: "https://npm.taobao.org/mirrors/electron/"
			},
			win: {
   
   
         		target: "nsis",
				icon: './build/logo.ico', // exe图标 ico要求256*256
			},
			productName: "ILTestClient", // 应用名称
       		asar: false //打包时不进行加密
		}
	}
}

可以在此目录\win-unpacked\resources\app查看打包后的文件和dist相同;

  • 添加完electron-builder后 package.json文件会自动添加相关命令,如下图
    在这里插入图片描述
    在控制台执行npm run electron:build命令,打包exe(双击win-unpacked下的xxx.exe访问程序)。

要在exe程序中增加浏览器的ctrl f 功能

  • 第一步
    在background.js中注册ctrl f 事件,并在各个窗口中监听,直接上代码:
    (遇到的问题:一开始百度的时候搜到的都是设置nodeIntegration为true后在Vue组件引入Electron就可以在Vue页面中监听到electron的事件,但是项目就不能在浏览器访问可能是因为浏览器没有node的运行环境,后面又查了一下可以通过preload.js进行预加载这样浏览器就可以正常访问了)
'use strict'

import {
   
    app, protocol, BrowserWindow, Menu, globalShortcut } from 'electron'
const path = require('path')
import {
   
    createProtocol } from 'vue-cli-plugin-electron-builder/lib'
import installExtension, {
   
    VUEJS_DEVTOOLS } from 'electron-devtools-installer'
let win;
const isDevelopment = process.env.NODE_ENV !== 'production'
// Scheme must be registered before the app is ready
protocol.
### 如何调试 Electron Vue 项目的用户界面 对于调试 ElectronVue 结合的项目,可以利用 Chrome 浏览器自带的强大开发者工具来完成这一过程。当启动了一个由 Electron 构建的应用程序时,实际上是在一个特殊的浏览器环境中运行网页内容;因此,能够像平常一样使用 DevTools 来检查 HTML、CSS 及 JavaScript。 为了开启并连接到应用程序实例中的渲染进程(Render Process),可以通过命令行参数 `--remote-debugging-port` 启动主进程中启用远程调试功能[^1]: ```bash app.whenReady().then(() => { mainWindow = new BrowserWindow({ webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, devTools: true // 确保此选项被设置为true以便打开DevTools } }); if (process.env.NODE_ENV !== 'production') { mainWindow.webContents.openDevTools(); // 自动打开开发者工具窗口 } }); ``` 另外,在开发阶段还可以通过快捷键组合 Ctrl+Shift+I 或者右击页面选择“Inspect”快速访问开发者工具面板。如果希望更方便地管理多个标签页,则可以在独立窗口中显示 DevTools:调用 `BrowserWindow.webContents.toggleDevTools()` 方法实现切换状态[^2]。 针对特定于 Vue 组件的状态观察需求,安装官方提供的 Vue Devtools 扩展插件是非常有帮助的选择之一。这允许查看 Vuex Store 数据流以及监听事件触发情况等特性[^3]。 #### 使用 Vue Devtools 进行调试 - 安装适用于 Chromium 内核浏览器版本的 [Vue Devtools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=zh-CN),因为默认情况下 Electron 应用会继承自该内核; - 如果遇到无法自动检测的情况,请手动指定目标 URL 地址指向本地正在运行的服务地址,通常形式类似于 http://localhost:<port>/index.html; - 刷新应用后即可看到左侧栏新增加了 “Vue” Tab 页面用于展示当前视图层次结构及其属性信息。 以上就是关于如何调试 Electron Vue 项目用户界面的一些基本指导说明。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值