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

Electron-Forge + Vue3 项目初始化

本人对Electron的浅薄理解如下图所示
在这里插入图片描述
由上图可以,如果你需要开发一个electron应用,你得具备基本的前端开发经验。对于electron相关的知识,建议先了解下基本的窗口操作,比如新建窗口、关闭窗口等简单的操作,这些内容在官方文档都能学到,至于其他的内容,可以在开发过程根据需求翻阅官方文档即可,没必要把时间花在啃文档上。

官方文档:https://www.electronjs.org/zh/

该篇文章主要记录下使用新版Electron推荐的Electron-Forge初始化项目,并与Vue3结合开发

官方内容:https://www.electronforge.io/guides/framework-integration/vue-3

官方文档步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
初始化后的项目结构如下:
在这里插入图片描述
接下来创建vue项目目录结构:
安装vue-router路由

npm install vue-router

项目结构如下:
在这里插入图片描述

  • vue-project/pages/home/index.vue

    <template>
      <h1>😁 首页</h1>
    </template>
    
    <script setup>
    </script>
    
  • vue-project/router/index.js

    import { createWebHashHistory, createRouter } from 'vue-router'
    
    import HomeView from '@/vue-project/pages/home/index.vue'
    
    const routes = [
      { path: '/', component: HomeView },
    ]
    const router = createRouter({
      history: createWebHashHistory(),
      routes,
    })
    
    export default router;
    
  • vue-project/App.vue

    <template>
      <h1>🖥️ Hello World!</h1>
      <p>Welcome to your Electron application.</p>
      <p>
        <strong>Current route path:</strong> {{ $route.fullPath }}
      </p>
      <nav>
        <div>
          <RouterLink to="/">Go to Home</RouterLink>
        </div>
      </nav>
      <div style="margin-top: 20px; border: 1px solid grey; padding: 20px; border-radius: 10px;">
        <router-view></router-view>
      </div>
    </template>
    
    <script setup>
    </script>
    

修改初始化时的项目文件,以便接入vue项目

  • src/renderer.js

    import './index.css';
    import { createApp } from 'vue';
    import router from '@/vue-project/router';
    import App from '@/vue-project/App.vue';
    
    createApp(App).use(router).mount('#app');
    
  • index.html

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title>Hello World!</title>
      </head>
      <body>
        <div id="app"></div>
        <script type="module" src="/src/renderer.js"></script>
      </body>
    </html>
    
  • vite.renderer.config.mjs

    import { defineConfig } from 'vite';
    import vue from '@vitejs/plugin-vue';
    import { resolve } from 'path'
    
    // https://vitejs.dev/config
    export default defineConfig({
      plugins: [vue()],
      resolve: {
        alias: {
          '@': resolve(__dirname, './src'),
        }
      }
    });
    

运行

npm run start

在这里插入图片描述

相关文章:

  • 010---基于Verilog HDL的分频器设计
  • 二阶RC+PWM实现DDS
  • 风控模型算法面试题集结
  • Python可视化——地理空间型图表(自用)
  • 2025年Q1起重机指挥证理论考试题库
  • Vue Hooks 深度解析:从原理到实践
  • Tomcat 新手入门指南
  • Java线程池的分析和使用
  • K8s 1.27.1 实战系列(三)安装网络插件
  • hive sql limit offset不起作用
  • 深入解析 Flink 批量插入 MariaDB 不生效问题
  • Linux - 网络基础(网络层,数据链路层)
  • [Python入门学习记录(小甲鱼)]第4章 分支与循环
  • 详细讲解ecovadis奖牌分类
  • 美股表格数据:如何获取和分析历史高频分钟回测数据
  • IDEA与Maven使用-学习记录(持续补充...)
  • EasyBCD,多系统名称或启动顺序的修改,用来配置与调整启动配置数据(BCD)
  • 算法进阶——双指针
  • HarmonyOS Next 属性动画和转场动画
  • 若依前后端分离版使用Electron打包前端Vue为Exe文件
  • 网站轮播图能用什么软件做/百度搜索seo
  • 武汉专业网站做网页/新媒体培训
  • 建设银行网站怎么修改手机号码吗/电脑清理优化大师
  • 建站技术/网站运营和维护
  • 织梦 大型综合旅游网站 源码/百度新闻官网首页
  • 做论坛网站/成都百度推广