Vite
Vite 是一款旨在为现代 Web 项目提供更快、更精简开发体验的构建工具。本指南截至 Vite 5.4.8 版本。
- 在
src-tauri/tauri.conf.json
中将../dist
用作frontendDist
。 - 当设置为在 iOS 物理设备上运行时,将
process.env.TAURI_DEV_HOST
用作开发服务器主机 IP。
-
假设你的
package.json
中有以下dev
和build
脚本{"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": "https://:5173","frontendDist": "../dist"}}tauri.conf.json {"build": {"beforeDevCommand": "yarn dev","beforeBuildCommand": "yarn build","devUrl": "https://:5173","frontendDist": "../dist"}}tauri.conf.json {"build": {"beforeDevCommand": "pnpm dev","beforeBuildCommand": "pnpm build","devUrl": "https://:5173","frontendDist": "../dist"}}tauri.conf.json {"build": {"beforeDevCommand": "deno task dev","beforeBuildCommand": "deno task build","devUrl": "https://:5173","frontendDist": "../dist"}} -
vite.config.js import { defineConfig } from 'vite';const host = process.env.TAURI_DEV_HOST;export default defineConfig({// prevent vite from obscuring rust errorsclearScreen: false,server: {// make sure this port matches the devUrl port in tauri.conf.json fileport: 5173,// Tauri expects a fixed port, fail if that port is not availablestrictPort: true,// if the host Tauri is expecting is set, use ithost: 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 Linuxtarget:process.env.TAURI_ENV_PLATFORM == 'windows'? 'chrome105': 'safari13',// don't minify for debug buildsminify: !process.env.TAURI_ENV_DEBUG ? 'esbuild' : false,// produce sourcemaps for debug buildssourcemap: !!process.env.TAURI_ENV_DEBUG,},});
© 2025 Tauri 贡献者。CC-BY / MIT