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

Electron+vite+vuetify项目搭建

最近想用Electron来进行跨平台的桌面应用开发。同时想用vuetify作为组件,于是想搭建一个这样的开发环境。其中踩了不少坑,总是会出现各种的编译错误和问题,依赖的各种问题,搞了好久最终环境终于弄好可正常开发了。这里分享下快速搭建的流程和方法。

如果你用官网的Build cross-platform desktop apps with JavaScript, HTML, and CSS | ElectronBuild cross-platform desktop apps with JavaScript, HTML, and CSSicon-default.png?t=N7T8https://www.electronjs.org/上面的方法,搭建出来啥也没有,会比较麻烦。

这个项目很好的解决了Electron+vite的快速搭建。详见网站electron-vite | Next Generation Electron Build ToolingNext generation Electron build tooling based on Vite.icon-default.png?t=N7T8https://electron-vite.org/

命令很简单,如果是使用yarn的话,输入命令

yarn create @quick-start/electron

如果是npm则输入命令

npm create @quick-start/electron@latest

然后,就是根据提示,一步一步的就创建了对应的项目了,非常的方便。

创建好了之后,就准备开始添加vuetify了。

然后用yarn安装

yarn add -D vuetify vite-plugin-vuetify
yarn add @mdi/font

或者是用npm来安装

npm i -D vuetify vite-plugin-vuetify
npm i @mdi/font

安装好了之后,需要做以下的修改,首先根目录下的electron.vite.config.mjs文件,import一下vuetify,然后在plugins中间需要添加vuetify插件,整个文件修改完成后如下:

import { resolve } from 'path'
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
import vue from '@vitejs/plugin-vue'
import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
export default defineConfig({main: {plugins: [externalizeDepsPlugin()]},preload: {plugins: [externalizeDepsPlugin()]},renderer: {resolve: {alias: {'@renderer': resolve('src/renderer/src')}},plugins: [vue(),vuetify({ autoImport: true })]}
})

然后,在src文件夹中创建plugins文件夹,并添加vuetify.js文件,如果用的是ts也类似。

/src/plugins/vuetify.js文件内容如下:

import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles'const vuetify = createVuetify({ssr: true,
})

最后,找到main.js文件,添加vuetify相关的内容,最终修改如下:

import './assets/main.css'import { createApp } from 'vue'// Vuetify
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'import App from './App.vue'const vuetify = createVuetify({components,directives,
})createApp(App).use(vuetify).mount('#app')

OK,接下来就可以正常的使用vuetify的组件了。

相关文章:

  • 在php中的序列化与反序列化
  • 【elementui源码解析】如何实现自动渲染md文档-第三篇
  • 【服务器04】之【Navicat连接阿里云】
  • 上网行为管理系统是干什么的?4款高人气上网管理软件盘点
  • Python联动Mysql
  • RisingWave 1.9 发布!新增 Snowflake sink 连接器
  • 【安全函数】常用的安全函数的使用
  • WPF学习(2)--类与类的继承2-在窗口的实现
  • opencv 打开图片后,cv::mat存入共享内存的代码,如何设置队列?
  • C 语言通用MySQL 功能增删查改功能.
  • [Mysql] 的基础知识和sql 语句.教你速成(上)——逻辑清晰,涵盖完整
  • SwaggerSpy:一款针对SwaggerHub的自动化OSINT安全工具
  • NetSuite Inventory Transfer Export Saved Search
  • 安装TensorFlow2.12.0
  • Electron+Vue开源软件:洛雪音乐助手V2.8畅享海量免费歌曲
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • js对象的深浅拷贝
  • magento 货币换算
  • Node项目之评分系统(二)- 数据库设计
  • 十年未变!安全,谁之责?(下)
  • 云大使推广中的常见热门问题
  • 终端用户监控:真实用户监控还是模拟监控?
  • Nginx实现动静分离
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​如何在iOS手机上查看应用日志
  • ​学习一下,什么是预包装食品?​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 计算机视觉入门
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #职场发展#其他
  • %check_box% in rails :coditions={:has_many , :through}
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (23)Linux的软硬连接
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (分布式缓存)Redis持久化
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (每日一问)基础知识:堆与栈的区别
  • (强烈推荐)移动端音视频从零到上手(下)
  • (四)汇编语言——简单程序
  • (转)ObjectiveC 深浅拷贝学习
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .netcore 获取appsettings
  • .net生成的类,跨工程调用显示注释
  • .net实现客户区延伸至至非客户区
  • .NET序列化 serializable,反序列化
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @synthesize和@dynamic分别有什么作用?