electron+vite+vue3 快速入门教程

Electron、Vite 和 Vue 3 结合使用可以创建强大的跨平台桌面应用程序,下面是一个快速入门教程,帮助你搭建一个基于 Electron + Vite + Vue 3 的项目。

环境准备

  1. Node.js: 首先确保你的机器上已经安装了 Node.js。你可以通过以下命令来检查是否已安装:

    sh 复制代码
    node -v
    npm -v
  2. 创建项目目录 :

    创建一个新的文件夹并初始化一个 Node.js 项目。

    sh 复制代码
    mkdir my-electron-vue-app
    cd my-electron-vue-app
    npm init -y

安装依赖

  1. 安装 Electron :

    使用 npm 安装 Electron。注意,我们需要全局安装 Electron CLI 工具。

    sh 复制代码
    npm install electron --save-dev
    npm install @electron-forge/cli --global
    npx electron-forge import
  2. 创建 Vite 配置 :

    使用 Vite 作为项目构建工具。首先安装 Vite 和 Vue 相关依赖。

    sh 复制代码
    npm install vite vue@next vue-router@next vuex@next --save-dev
  3. 配置 Vite :

    在项目根目录下创建一个 vite.config.js 文件,用于配置 Vite:

    js 复制代码
    import { defineConfig } from 'vite';
    import vue from '@vitejs/plugin-vue';
    
    export default defineConfig({
      plugins: [vue()],
      build: {
        rollupOptions: {
          input: 'index.html'
        }
      },
      resolve: {
        alias: {
          '@': '/src'
        }
      }
    });

创建项目结构

  1. 创建基本目录结构:

    sh 复制代码
    mkdir -p src
    touch index.html main.js package.json vite.config.js
  2. 编辑 index.html :

    为 Vite 和 Vue 配置一个简单的 HTML 文件。

    html 复制代码
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8">
        <title>Electron + Vite + Vue</title>
      </head>
      <body>
        <div id="app"></div>
        <script type="module" src="/src/main.js"></script>
      </body>
    </html>
  3. 编辑 main.js :

    创建一个基本的 Vue 应用。

    js 复制代码
    import { createApp } from 'vue';
    import App from './App.vue';
    
    const app = createApp(App);
    app.mount('#app');
  4. 创建 src/App.vue :

    创建一个简单的 Vue 组件。

    vue 复制代码
    <template>
      <div id="app">
        <h1>Hello, Electron + Vite + Vue!</h1>
      </div>
    </template>
    
    <script>
    export default {
      name: 'App'
    }
    </script>

配置 Electron

  1. 编辑 main.js :

    创建一个基本的 Electron 应用。在项目根目录下创建一个 electron-main.js 文件:

    js 复制代码
    const { app, BrowserWindow } = require('electron');
    const path = require('path');
    
    function createWindow() {
      const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
          preload: path.join(__dirname, 'preload.js')
        }
      });
    
      win.loadFile('index.html');
    }
    
    app.whenReady().then(() => {
      createWindow();
    
      app.on('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) {
          createWindow();
        }
      });
    });
    
    app.on('window-all-closed', () => {
      if (process.platform !== 'darwin') {
        app.quit();
      }
    });
  2. 编辑 package.json :

    添加一些必要的配置和脚本。

    json 复制代码
    {
      "name": "my-electron-vue-app",
      "version": "1.0.0",
      "main": "electron-main.js",
      "scripts": {
        "dev": "vite",
        "build": "vite build",
        "start": "electron ."
      },
      "dependencies": {
        "vue": "^3.0.0"
      },
      "devDependencies": {
        "electron": "^14.0.0",
        "@vitejs/plugin-vue": "^2.0.0",
        "vite": "^2.6.4"
      }
    }

运行项目

  1. 开发模式 :

    使用 Vite 启动开发服务器。

    sh 复制代码
    npm run dev
  2. 打包和运行 Electron 应用 :

    打包并启动应用。

    sh 复制代码
    npm run build
    npm start

总结

以上步骤介绍了如何使用 Electron、Vite 和 Vue 3 创建一个简单的桌面应用程序。通过这些步骤,你可以搭建起一个基础的开发环境,并且可以在此基础上进一步扩展和定制你的应用。

希望这个快速入门教程对你有所帮助!如果你有任何问题或需要更多细节,请随时提问。

相关推荐
Kairo_0112 分钟前
在 API 模拟阶段:Apipost vs. Faker.js vs. Postman —— 为什么 Apipost 是最优选择
开发语言·javascript·postman
黄同学real14 分钟前
vue 优化策略,大白话版本
前端·javascript·vue.js
xcLeigh23 分钟前
HTML5好看的水果蔬菜在线商城网站源码系列模板8
java·前端·html5
周胡杰39 分钟前
鸿蒙文件上传-从前端到后端详解,对比jq请求和鸿蒙arkts请求区别,对比new FormData()和鸿蒙arktsrequest.uploadFile
前端·华为·harmonyos·鸿蒙·鸿蒙系统
zhl9999999992 小时前
xe-upload上传文件插件
前端·上传文件·xe-upload·兼容app上传文件
宁酱醇3 小时前
CSS基础_@拉钩教育【笔记】
前端·css
建群新人小猿3 小时前
CRMEB-PRO系统定时任务扩展开发指南
android·java·开发语言·前端
牧天白衣.4 小时前
vue 和 html 的区别
前端
知识分享小能手4 小时前
JavaScript学习教程,从入门到精通,Ajax数据交换格式与跨域处理(26)
xml·开发语言·前端·javascript·学习·ajax·css3