欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Electron-Forge + Vue3 项目初始化

Electron-Forge + Vue3 项目初始化

2025/3/10 15:07:54 来源:https://blog.csdn.net/qq_42278240/article/details/146075267  浏览:    关键词:Electron-Forge + Vue3 项目初始化

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

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

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

官方内容:https://www.electronforge.io/guides/framework-integration/vue-3
完整项目示例:https://github.com/ylpxzx/electron-forge-project/tree/init_project

官方文档步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
初始化后的项目结构如下:
在这里插入图片描述
接下来创建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

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com