Estructura del Proyecto
Un proyecto de Tauri suele constar de 2 partes: un proyecto de Rust y un proyecto de JavaScript (opcional), y normalmente la configuración se ve algo así:
.├── package.json├── index.html├── src/│ ├── main.js├── src-tauri/│ ├── Cargo.toml│ ├── Cargo.lock│ ├── build.rs│ ├── tauri.conf.json│ ├── src/│ │ ├── main.rs│ │ └── lib.rs│ ├── icons/│ │ ├── icon.png│ │ ├── icon.icns│ │ └── icon.ico│ └── capabilities/│ └── default.jsonEn este caso, el proyecto de JavaScript está en el nivel superior, y el proyecto de Rust está dentro de src-tauri/,
el proyecto de Rust es un proyecto de Cargo normal con algunos archivos adicionales:
tauri.conf.jsones el archivo de configuración principal de Tauri, contiene todo, desde el identificador de la aplicación hasta la URL del servidor de desarrollo, este archivo también es un marcador para que la CLI de Tauri encuentre el proyecto de Rust, para obtener más información al respecto, consulta Configuración de Tauri- El directorio
capabilities/es la carpeta predeterminada desde la que Tauri lee los archivos de capacidades (en resumen, debes permitir los comandos aquí para usarlos en tu código JavaScript), para obtener más información al respecto, consulta Seguridad - El directorio
icons/es el directorio de salida predeterminado del comandotauri icon, generalmente se hace referencia a él entauri.conf.json > bundle > icony se usa para los íconos de la aplicación build.rscontienetauri_build::build()que se utiliza para el sistema de compilación de Taurisrc/lib.rscontiene el código de Rust y el punto de entrada móvil (la función marcada con#[cfg_attr(mobile, tauri::mobile_entry_point)]), la razón por la que no escribimos directamente enmain.rses porque compilamos tu aplicación como una biblioteca en compilaciones móviles y las cargamos a través de los frameworks de la plataformasrc/main.rses el punto de entrada principal para escritorio, y ejecutamosapp_lib::run()enmainpara usar el mismo punto de entrada que en móvil, así que para mantenerlo simple, no modifiques este archivo, modificalib.rsen su lugar. Ten en cuenta queapp_libcorresponde a[lib.name]en Cargo.toml.
Tauri funciona de manera similar a un host web estático, y la forma en que se compila es que primero compilarías tu proyecto de JavaScript a archivos estáticos, y luego compilarías el proyecto de Rust que empaquetará esos archivos estáticos, por lo que la configuración del proyecto de JavaScript es básicamente la misma que si fueras a construir un sitio web estático, para obtener más información, consulta Configuración del Frontend
Si solo deseas trabajar con código de Rust, simplemente elimina todo lo demás y usa la carpeta src-tauri/ como tu proyecto de nivel superior o como un miembro de tu workspace de Rust
Próximos Pasos
Sección titulada “Próximos Pasos”© 2026 Colaboradores de Tauri. CC-BY / MIT