vite-plugin-tauri
raw JSON →Integrates Tauri into a Vite project, enabling cross-platform desktop app development with seamless dev and build workflows. Current stable version is 4.0.0, which adds support for Tauri v2 and removes the debug, verbose, and target config options in favor of CLI arguments. The plugin is actively maintained and distributed as an ESM-only package. It ships TypeScript types and requires @tauri-apps/cli >=1 and vite >=2 as peer dependencies. Key differentiators include automatic detection of Tauri project initialization, support for separate Vite configs for Tauri, and CLI argument passthrough via -- -t or --tauri syntax. Version 3.1.0 introduced a default export alongside the named export, and version 3.0.2 removed internal modification of vite clearScreen and server.open settings.
Common errors
error Error: Cannot find module 'vite-plugin-tauri' ↓
error Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/vite-plugin-tauri not supported. ↓
error TypeError: tauri is not a function ↓
error error: unknown option `--verbose' ↓
Warnings
breaking Removed debug, verbose, and target config options in v4.0.0 ↓
deprecated Named export { tauri } is still supported, but default export is preferred since v3.1.0 ↓
gotcha CommonJS require() will fail because package is ESM-only ↓
breaking Internal modification of clearScreen and server.open was removed in v3.0.2 ↓
Install
npm install vite-plugin-tauri yarn add vite-plugin-tauri pnpm add vite-plugin-tauri Imports
- tauri (default) wrong
const tauri = require('vite-plugin-tauri')correctimport tauri from 'vite-plugin-tauri' - tauri (named) wrong
import { Tauri } from 'vite-plugin-tauri'correctimport { tauri } from 'vite-plugin-tauri' - type definitions wrong
import { VitePluginTauriOptions } from 'vite-plugin-tauri'correctimport type { VitePluginTauriOptions } from 'vite-plugin-tauri'
Quickstart
// vite.config.js
import { defineConfig } from 'vite';
import tauri from 'vite-plugin-tauri';
export default defineConfig({
plugins: [tauri()],
clearScreen: false,
server: {
open: false,
},
});
// Then in terminal:
// pnpm add -D vite-plugin-tauri @tauri-apps/cli
// npx tauri init
// pnpm dev -- -t --release