返回

Vue3 桌面应用打包指南:Vite + Electron 打造高效构建体验

前端

前言

上一篇博文《Vite + Electron 快速构建一个 Vue3 桌面应用(二)——动态模块热重载》中,我们完成了开发时的动态模块热重载功能。现在,是时候来看看怎么完成最后一步——打包了。

打包工具的选择

在 Vue3 桌面应用打包中,常用的工具包括:

  • Electron-Builder:这是最受欢迎的 Electron 打包工具,它提供了丰富的功能和选项,可以轻松地将您的应用程序打包成多种格式,包括 Windows、macOS 和 Linux。
  • Webpack:Webpack 是一个模块化打包工具,它可以将您的代码打包成可以在浏览器中运行的 JavaScript 文件。
  • Rollup:Rollup 是另一个模块化打包工具,它与 Webpack 类似,但它更轻量级,更适合于构建小型项目。

使用 Electron-Builder 打包

Electron-Builder 是一个跨平台的桌面应用程序打包工具,它支持 Windows、macOS 和 Linux 系统。它提供了丰富的功能和选项,可以轻松地将您的应用程序打包成多种格式,包括 Windows Installer(.exe)、macOS App Bundle(.app)和 Linux AppImage(.AppImage)。

安装 Electron-Builder

npm install electron-builder --save-dev

配置 Electron-Builder

在您的项目根目录下,创建一个名为 electron-builder.json 的配置文件,并在其中指定应用程序的配置信息。

{
  "productName": "My App",
  "appId": "com.example.myapp",
  "version": "1.0.0",
  "copyright": "Copyright © 2023 Example Corp.",
  "directories": {
    "output": "dist"
  },
  "asar": true,
  "files": [
    "dist/**/*",
    "package.json"
  ],
  "win": {
    "target": [
      "nsis",
      "portable"
    ]
  },
  "nsis": {
    "oneClick": false,
    "allowToChangeInstallationDirectory": true
  },
  "mac": {
    "target": "dmg"
  },
  "linux": {
    "target": "AppImage"
  }
}

打包应用程序

npx electron-builder --win --mac --linux

使用 Webpack 打包

Webpack 是一个模块化打包工具,它可以将您的代码打包成可以在浏览器中运行的 JavaScript 文件。

安装 Webpack

npm install webpack --save-dev

配置 Webpack

在您的项目根目录下,创建一个名为 webpack.config.js 的配置文件,并在其中指定应用程序的配置信息。

const path = require('path');

module.exports = {
  mode: 'production',
  entry: './src/main.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      },
      {
        test: /\.js$/,
        loader: 'babel-loader'
      },
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ]
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin()
  ]
};

打包应用程序

npx webpack

使用 Rollup 打包

Rollup 是另一个模块化打包工具,它与 Webpack 类似,但它更轻量级,更适合于构建小型项目。

安装 Rollup

npm install rollup --save-dev

配置 Rollup

在您的项目根目录下,创建一个名为 rollup.config.js 的配置文件,并在其中指定应用程序的配置信息。

import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import vue from 'rollup-plugin-vue';
import css from 'rollup-plugin-css-only';

export default {
  input: 'src/main.js',
  output: {
    file: 'dist/main.js',
    format: 'cjs'
  },
  plugins: [
    resolve(),
    commonjs(),
    vue(),
    css()
  ]
};

打包应用程序

npx rollup -c