跳到内容
Tauri

Vite

Vite 是一个旨在为现代 Web 项目提供更快、更精简的开发体验的构建工具。本指南截至 Vite 5.4.8 是准确的。

检查清单

  • src-tauri/tauri.conf.json 中使用 ../dist 作为 frontendDist
  • 当设置为在 iOS 物理设备上运行时,使用 process.env.TAURI_DEV_HOST 作为开发服务器主机 IP。

配置示例

  1. 假设您的 package.json 中有以下 devbuild 脚本

    {
    "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "preview": "vite preview",
    "tauri": "tauri"
    }
    }

    您可以配置 Tauri CLI 以使用您的 Vite 开发服务器和 dist 文件夹以及自动运行 Vite 脚本的钩子

    tauri.conf.json
    {
    "build": {
    "beforeDevCommand": "npm run dev",
    "beforeBuildCommand": "npm run build",
    "devUrl": "http://localhost:5173",
    "frontendDist": "../dist"
    }
    }
  2. 更新 Vite 配置
    vite.config.js
    import { defineConfig } from 'vite';
    const host = process.env.TAURI_DEV_HOST;
    export default defineConfig({
    // prevent vite from obscuring rust errors
    clearScreen: false,
    server: {
    port: 1420,
    // Tauri expects a fixed port, fail if that port is not available
    strictPort: true,
    // if the host Tauri is expecting is set, use it
    host: host || false,
    hmr: host
    ? {
    protocol: 'ws',
    host,
    port: 1421,
    }
    : undefined,
    watch: {
    // tell vite to ignore watching `src-tauri`
    ignored: ['**/src-tauri/**'],
    },
    },
    // Env variables starting with the item of `envPrefix` will be exposed in tauri's source code through `import.meta.env`.
    envPrefix: ['VITE_', 'TAURI_ENV_*'],
    build: {
    // Tauri uses Chromium on Windows and WebKit on macOS and Linux
    target:
    process.env.TAURI_ENV_PLATFORM == 'windows'
    ? 'chrome105'
    : 'safari13',
    // don't minify for debug builds
    minify: !process.env.TAURI_ENV_DEBUG ? 'esbuild' : false,
    // produce sourcemaps for debug builds
    sourcemap: !!process.env.TAURI_ENV_DEBUG,
    },
    });

© 2025 Tauri 贡献者。CC-BY / MIT