Почему в Rust возникает ошибка "не удалось найти модуль" при попытке использования другого модуля?

Как организовать файловую структуру для сервера, созданного с использованием rocket и sea-orm, если есть модули сущностей и маршрутов, и как правильно объявить их зависимости в файлах mod.rs и prelude.rs?
  • 30 апреля 2024 г. 8:50
Ответы на вопрос 2
Ошибка "не удалось найти модуль" в Rust может возникать из-за неправильной организации файлов и зависимостей. В Rust отношения модулей определяются иерархией файлов и папок в проекте, поэтому важно правильно организовывать структуру проекта.

Для создания сервера с использованием rocket и sea-orm, можно организовать файловую структуру следующим образом:

```
project/
├── src/
│   ├── main.rs
│   ├── mod.rs
│   ├── prelude.rs
│   ├── entities/       // модуль сущностей
│   │   ├── user.rs     // файл с описанием сущности
│   ├── routes/         // модуль маршрутов
│   │   ├── user.rs     // файл с роутами для обработки запросов
```

В каждом файле сущности (например, `user.rs`) следует описать соответствующую сущность (например, пользователя) с помощью `sea_orm::entity!` макроса. В файле `mod.rs` следует объявить все модули и их зависимости, чтобы они были доступны в других частях приложения. В файле `prelude.rs` можно объявить всех необходимых препроцессоров и реэкспортировать модули для удобства использования.

Пример объявления зависимостей в `mod.rs` и `prelude.rs`:

```rust
// mod.rs

pub mod entities;
pub mod routes;

```

```rust
// prelude.rs

pub use crate::entities::*;
pub use crate::routes::*;

```

Таким образом, сущности и маршруты будут доступны в других частях приложения через `mod.rs` и `prelude.rs`. Важно также импортировать все необходимые зависимости в каждом файле, чтобы избежать ошибок при компиляции.
Ответ оказался до жути простым 
Я забыл добавить модуль своих моделей в main.rs файл:
mod entities;
Похожие вопросы