当前位置: 首页 > news >正文

记录 vue + vuetify + electron 安装过程

NodeJs 版本: 20

内容来自:

Electron + Vue.js + Vuetify 构建跨平台应用_思月行云的博客-CSDN博客文章浏览阅读61次。Go coding!https://blog.csdn.net/kenkao/article/details/132600542

npm config set registry https://registry.npm.taobao.org
npm install -g yarnyarn global add @vue/cli// vue 创建项目时,选择 2.x 的版本,因为 vuetify 支持的 3.x 是preview版本,个人试了下有的控件不能用,比如 v-overlay,很难受
vue create files_managercd .\files_manager\// 下面是我的版本需要的,因为 Node 版本过高会报错
yarn config set ignore-engines true// 增加 View UI,选择 for 2 vue cli版本的
vue add vuetify添加完成后,可能会提示 Home xxx 的错误,需要找到 HomeView.vue,修改导出名称为 HomeViewvue add electron-builder// 运行 electron 测试
yarn electron:serve

安装完成后的进一步配置

【精选】Electron使用preload预加载及安全策略_electron preload-CSDN博客文章浏览阅读5k次。使用 Electron 很重要的一点是要理解 Electron 不是一个 Web 浏览器。它允许您使用熟悉的 Web 技术构建功能丰富的桌面应用程序,但是您的代码具有更强大的功能。JavaScript 可以访问文件系统,用户 shell 等。这允许您构建更高质量的本机应用程序,但是内在的安全风险会随着授予您的代码的额外权力而增加。_electron preloadhttps://blog.csdn.net/qq_30386941/article/details/127550392因为 electron 实现需要在vue 界面中监听 ipcRenderer.on 但是单纯的 import 会带来错误,所以需要修改监听方式:

创建 src/preload.js

const { contextBridge, ipcRenderer } = require('electron')contextBridge.exposeInMainWorld('ipcRendererApi', {send: (channel, args) => ipcRenderer.send(channel, args),once: (channel, listener) => ipcRenderer.once(channel, listener),on: (channel, listener) => ipcRenderer.on(channel, listener),
});

在 backgroud.js 中引入

...
import path from "path";
...async function createWindow()
{const win = new BrowserWindow({
...webPreferences: {
...preload: path.join(__dirname, 'preload.js'),}
...

最后在 Vue 界面中可以直接使用来发送和监听

ipcRendererApi.send('send_test_message', 'Hello from renderer process!')ipcRendererApi.on('reply_test_message', function (args){console.log("Reply: ", args)
})

相关文章:

  • 数据分析在程序员职业中的重要性及实践应用
  • AM@变系数线性微分方程中的可常系数化类型@欧拉方程
  • NI-9236 国产化10 kS/s/ch,350 Ω四分之一桥应变计,8通道C系列应变/桥输入模块
  • Python 正则表达式(RegEx)指南
  • 设计模式大赏(一):桥接模式,组合模式
  • Flutter屏幕适配
  • opencv第一个例子
  • dockefile
  • python脚本-requests模块
  • 直播间讨论区需要WebSocket,简单了解下
  • go-pprof-leak漏洞
  • unity 鼠标拖拽旋转 3d物体
  • ElasticSearch索引操作
  • (2)STM32单片机上位机
  • 【计算机视觉】相机
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 2017 前端面试准备 - 收藏集 - 掘金
  • canvas 绘制双线技巧
  • express如何解决request entity too large问题
  • github从入门到放弃(1)
  • gops —— Go 程序诊断分析工具
  • HTML5新特性总结
  • java正则表式的使用
  • Protobuf3语言指南
  • python学习笔记 - ThreadLocal
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • ViewService——一种保证客户端与服务端同步的方法
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 高度不固定时垂直居中
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 网络应用优化——时延与带宽
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #在 README.md 中生成项目目录结构
  • (3)(3.5) 遥测无线电区域条例
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (LeetCode C++)盛最多水的容器
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ***检测工具之RKHunter AIDE
  • .naturalWidth 和naturalHeight属性,
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net mvc 获取url中controller和action
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @Transaction注解失效的几种场景(附有示例代码)