프로젝트 구조
Tauri 프로젝트는 일반적으로 “Rust 프로젝트”와 “JavaScript 프로젝트”(선택 사항) 두 부분으로 구성되며, 일반적인 설정 구성은 다음과 같습니다:
.├── 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
위의 경우, “JavaScript 프로젝트”가 최상위에 있고, “Rust 프로젝트”는 src-tauri/
내에 있습니다.
“Rust 프로젝트”는 몇 가지 파일이 추가된 일반적인 Cargo 프로젝트입니다:
tauri.conf.json
은 Tauri의 기본 설정 파일로, 애플리케이션 식별자부터 개발 서버 URL까지 모든 것을 포함합니다. 이 파일은 Tauri CLI가 Rust 프로젝트를 찾는 마커이기도 합니다. 자세한 내용은 Tauri Config를 참조하십시오.capabilities/
디렉토리는 Tauri가 보안 수준 파일을 읽는 기본 폴더입니다(즉, JavaScript 코드에서 이 파일을 사용하려면 이 폴더에 대한 명령 접근을 허용해야 합니다). 자세한 내용은 보안을 참조하십시오.icons/
디렉토리는tauri icon
명령의 기본 출력 디렉토리이며, 일반적으로tauri.conf.json > bundle > icon
에서 참조되어 앱 아이콘으로 사용됩니다.build.rs
에는 tauri의 빌드 시스템에 사용되는tauri_build::build()
가 포함되어 있습니다.src/lib.rs
에는 “Rust 코드”와 “모바일 진입점”(#[cfg_attr(mobile, tauri::mobile_entry_point)]
으로 표시된 함수)이 포함되어 있습니다.main.rs
내에 직접 작성하지 않는 이유는 앱을 각 모바일 빌드의 라이브러리를 사용하여 컴파일하고 각 플랫폼 프레임워크를 통해 로드하기 때문입니다.src/main.rs
는 데스크톱의 “메인 진입점”이며, 모바일과 동일한 진입점을 사용하기 위해main
내에서tauri_app_lib::run()
을 실행합니다. 따라서 처리를 간단하게 하기 위해 이 파일은 변경하지 말고 대신lib.rs
를 변경하십시오.
Tauri는 “정적 웹 호스트”와 유사하게 작동합니다. 빌드 방법은 먼저 “JavaScript 프로젝트”를 정적 파일(들)로 컴파일한 다음, 해당 정적 파일을 번들링하는 “Rust 프로젝트”를 컴파일합니다. 이 때문에 “JavaScript 프로젝트”의 구성은 마치 정적 웹사이트를 구축한 것처럼 기본적으로 동일합니다. 자세한 내용은 프론트엔드 설정을 참조하십시오.
Rust 코드로만 프로젝트를 구성하려면 src-tauri/
폴더 이외의 모든 것을 삭제하고 src-tauri/
폴더를 최상위 프로젝트로 또는 Rust 작업 공간의 멤버로 사용하기만 하면 됩니다.
© 2025 Tauri Contributors. CC-BY / MIT