我有一个vibe coding的前后端一体项目,改一个askama模板文件,整个项目重编译,无法得到即时的反馈。
我尝试过拆crate,拆成:core / models / services / middleware / web,但是无论拆得多细,最后这个web crate编译速度就是很慢很慢,而且体感上和未拆分的大单体编译速度没啥区别。
有没有什么办法提高最后这个crate的编译速度呢?
注:现在也就是个后台管理系统的雏形,Rust 不算注释共 5500 行,html 有1千多行,算上各种 spec 文档也不到1万行。我的CPU是:Intel(R) Core(TM) i7-14700,28线程。
拆分前:
src/
├── main.rs # 启动入口:pool, migrate, seed, routes, serve
├── config.rs # 环境变量解析
├── db/
│ ├── mod.rs # pool 初始化
│ └── migrations/ # sqlx migration SQL
├── middleware/
│ ├── auth.rs # JWT 认证(Cookie + Bearer 双模式)
│ └── csrf.rs # CSRF 校验
├── models/
│ ├── user.rs
│ ├── role.rs
│ ├── menu.rs
│ ├── dept.rs
│ └── log.rs
├── handlers/
│ ├── pages/ # 页面路由(完整 HTML)
│ │ ├── auth.rs # GET/POST /login 等
│ │ ├── dashboard.rs # GET /
│ │ ├── user.rs # GET /users, /users/new, /users/{id}/edit
│ │ ├── role.rs # GET /roles, /roles/new, /roles/{id}/edit
│ │ ├── dept.rs # GET /depts
│ │ ├── menu.rs # GET /menus, /menus/new, /menus/{id}/edit
│ │ └── log.rs # GET /logs
│ └── fragments/ # HTML 片段路由(HTMX 调用)
│ ├── user.rs # GET /users/table, POST /users, DELETE /users/{id}
│ ├── role.rs # ...
│ ├── dept.rs
│ ├── menu.rs
│ └── log.rs # GET /logs/table
├── services/ # 业务逻辑
│ ├── auth.rs
│ ├── user.rs
│ ├── role.rs
│ ├── menu.rs
│ ├── dept.rs
│ └── log.rs
└── templates/ # Askama 模板
├── layouts/
│ └── main.html # 基模板(navbar + sidebar + content)
├── partials/
│ ├── navbar.html
│ ├── sidebar.html
│ ├── pagination.html
│ ├── confirm-modal.html
│ └── toast.html (Phase 1 inline JS in main.html)
├── auth/
│ ├── login.html
│ ├── forgot_password.html (延后)
│ └── reset_password.html (延后)
├── profile/
│ └── password.html
├── users/
│ ├── list.html
│ ├── form.html
│ └── table_fragment.html
├── roles/
│ ├── list.html
│ └── form.html
├── depts/
│ └── list.html
├── menus/
│ ├── list.html
│ └── form.html
├── logs/
│ └── list.html
├── dashboard.html
└── errors/
├── 401.html
├── 403.html
├── 404.html
└── 500.html
静态资源:`static/css/tailwind.css`、`static/js/htmx.min.js`、`static/img/*`
拆分后:
[workspace]
members = [
"crates/core",
"crates/models",
"crates/services",
"crates/middleware",
"crates/web",
]
1
共 0 条评论, 1 页
评论区
写评论还没有评论