flutter 的 lib 目录结构应该是什么样的?

最近想学习一下 flutter ,发现写的时候 lib 下的目录结构无从下手;写 vue 的时候习惯创建 view 、api 、store 之类的文件夹然后在处理中间的逻辑,又去 github 上找了一些开源项目,发现每个项目 lib 目录下都不尽相同

想问下各位大佬,flutter 的 lib 目录怎样创建文件夹最合适?


flutter 的 lib 目录结构应该是什么样的?
6 回复

更多关于flutter 的 lib 目录结构应该是什么样的?的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


provider util page widget model

按照你的习惯来,flutter 本身就是借鉴了 react ,按照前端开发的习惯走,没一点问题

https://github.com/better-dart/toolbox

可以参考这个目录结构.

是使用 GetX Cli 生成的默认结构, 稍作改良.

https://github.com/jonataslaw/get_cli

GetX Cli 生成的项目模板结构, 挺合理的.

在Flutter项目中,lib目录是存放应用主要逻辑和业务代码的核心位置。一个合理且清晰的lib目录结构对于项目的组织性、可读性和可维护性至关重要。以下是一个推荐的lib目录结构:

  1. assets:存放静态资源,如图片、字体等。这些资源可以在应用中通过特定的路径进行引用。
  2. constants(或config):集中定义项目中使用的常量,如字符串常量、颜色代码、API端点等。
  3. models:数据模型定义,用于描述数据结构。这些模型通常与后端数据或应用内部数据相对应。
  4. pages:页面组件,每个页面一个文件夹。这样可以便于管理和组织页面逻辑。
  5. providers:状态管理层,根据所选的状态管理库(如Provider、Riverpod等)来组织代码。
  6. repositories(或http):数据仓库层,负责数据获取逻辑,包括网络请求和数据库操作。
  7. services:封装底层服务,如网络服务、本地存储服务等。这些服务通常与repositories层交互。
  8. utils:通用工具类和辅助函数,提高代码复用性。
  9. widgets:可复用的UI组件,根据组件类型进一步细分,如buttons、cards等。

此外,lib目录下通常还会包含app.dart(应用级别的widget配置)和main.dart(应用程序的入口文件)。这样的结构使得项目结构清晰,易于扩展和维护。

回到顶部