Saltar al contenido

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.json

En 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.json es 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 comando tauri icon, generalmente se hace referencia a él en tauri.conf.json > bundle > icon y se usa para los íconos de la aplicación
  • build.rs contiene tauri_build::build() que se utiliza para el sistema de compilación de Tauri
  • src/lib.rs contiene 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 en main.rs es porque compilamos tu aplicación como una biblioteca en compilaciones móviles y las cargamos a través de los frameworks de la plataforma
  • src/main.rs es el punto de entrada principal para escritorio, y ejecutamos app_lib::run() en main para usar el mismo punto de entrada que en móvil, así que para mantenerlo simple, no modifiques este archivo, modifica lib.rs en su lugar. Ten en cuenta que app_lib corresponde 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


© 2026 Colaboradores de Tauri. CC-BY / MIT