"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Rust에서 Tauri 명령을 합리적으로 정리하는 방법

Rust에서 Tauri 명령을 합리적으로 정리하는 방법

2024-11-08에 게시됨
검색:311

How to Reasonably Keep Your Tauri Commands Organized in Rust

Tauri 애플리케이션을 구축할 때 특히 프로젝트가 성장함에 따라 코드베이스를 체계적으로 유지하는 것이 중요합니다. 저를 믿으십시오. Rust를 비교적 처음 접하는 사람으로서 저는 스스로 만든 구멍을 파헤치며 몇 시간을 보내는 등 지저분한 상황을 꽤 많이 겪었습니다. 당신이 나와 같은 사람이라면 그것을 피하고 싶을 것입니다. 이제 Tauri 명령을 별도의 파일로 분할하여 깔끔하게 유지하는 방법에 대해 이야기해 보겠습니다.

명령 모듈로 시작

먼저 명령 모듈을 만듭니다. 이것은 모든 Tauri 명령의 허브가 될 것입니다. src 디렉터리에 Commands라는 폴더를 만듭니다. 이 폴더 안에는 다양한 관련 명령 그룹에 대한 파일이 생성됩니다. 예를 들어:

  • 시스템 관련 명령을 위한 system_info.rs
  • 프로세스를 다루는 명령에 대한 process_info.rs
  • Greeting.rs는 인사말 명령과 같은 간단한 명령입니다.

디렉토리는 다음과 같습니다.

src/
│
├── commands/
│   ├── mod.rs
│   ├── system_info.rs
│   ├── process_info.rs
│   └── greet.rs
│
└── main.rs

명령을 별도의 파일로 구성

이제 명령 기능을 해당 파일로 이동하세요. 이렇게 하면 프로젝트를 관리 가능한 단위로 나누어 유지 관리가 더 쉬워집니다. 또한 특정 기능을 다시 방문하거나 확장해야 할 때 훨씬 덜 위협적입니다.

mod.rs에서 모두 하나로 묶어보세요

명령이 자체 파일에 있으면 프로젝트 전체에서 해당 명령에 액세스할 수 있는지 확인해야 합니다. Commands/mod.rs 파일에서 pub mod 문으로 각 명령을 노출하세요.

pub mod greet;
pub mod system_info;
pub mod process_info;

main.rs에 명령 등록

마지막으로 main.rs에서 이러한 명령을 가져와서 Tauri's Builder에 등록하세요. 이런 식으로 Tauri는 프런트엔드에서 명령을 호출할 때 명령을 찾을 위치를 알고 있습니다.

mod commands;

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![
            commands::greet::greet,
            commands::system_info::get_system_info,
            // Other commands...
        ])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

마무리

Tauri 명령을 별도의 파일로 정리하는 것은 특히 프로젝트가 성장함에 따라 큰 차이를 만드는 작은 단계입니다. 코드를 작은 조각으로 분할하면 정리되지 않은 코드베이스의 혼란으로부터 벗어날 수 있습니다. 저를 믿으세요. 미래의 당신도 감사할 것입니다!

릴리스 선언문 이 글은 https://dev.to/n3rd/how-to-reasonabilly-keep-your-tauri-commands-organized-in-rust-2gmo?1에서 복제됩니다. 침해 내용이 있는 경우, Study_golang@163으로 문의하시기 바랍니다. .com에서 삭제하세요
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3