当前位置: 首页 > 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)
})

http://www.lryc.cn/news/214945.html

相关文章:

  • 短视频账号矩阵系统saas源码搭建/技术
  • 词向量模型Word2Vec
  • 公会发展计划(GAP):经过实战考验的 Web3 任务模式
  • 网络工程师基础知识(2)
  • 创建ABAP数据库表和ABAP字典对象-理解表字段02
  • 2021-arxiv-GPT Understands, Too
  • 【Spark】What is the difference between Input and Shuffle Read
  • redis相关的一些面试题?
  • 什么是Babel?它的主要作用是什么?
  • 【APP】go-musicfox - 一款网易云音乐命令行客户端, 文件很小Mac版本只有16.5M
  • P1284 三角形牧场
  • 【Linux】:Linux开发工具之Linux编辑器vim的使用
  • PFMEA详解结构分析——Sun FMEA软件
  • Qt扫盲-QFutureWatcher理论总结
  • 对比学习(contrastive Learning)
  • 译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快
  • python设计模式4:适配器模式
  • kubectl资源管理命令---声明式
  • IDEA使用-通过Database面板访问数据库
  • 单片机如何写好一个模块的驱动文件
  • 【C++笔记】C++多态
  • 不想改代码!这样实现Reverse Sync测量时间同步精度
  • 【webrtc】 对视频质量的码率控制的测试与探索
  • 2003 - Can‘t connect to MysQL server on ‘39.108.169.0‘ (10060 “Unknown error“)
  • Python算法——选择排序
  • 从「码农」到管理者,E人程序员的十年蜕变
  • ant Java任务的jvmargs属性和<jvmarg>内嵌元素
  • XML External Entity-XXE-XML实体注入
  • 生态扩展Spark Doris Connector
  • 构建 hive 时间维表