文件夹目录
最基础的helloworld项目结构如下:
- .dart_tool:记录了一些dart工具库所在的位置和信息
- .idea:android studio 是基于idea开发的,.idea 记录了项目的一些文件的变更记录
- android:Android项目文件夹
- ios:iOS项目文件夹
- lib:lib文件夹内存放我们的dart代码
- test:用于存放我们的测试代码
- web:网页项目文件夹
- fuchsia:fuchsia项目文件夹
- .gitignore:git忽略配置文件
- .metadata:IDE 用来记录某个 Flutter 项目属性的的隐藏文件
- .packages:pub 工具需要使用的,包含 package 依赖的 yaml 格式的文件
- flutter_app.iml:    工程文件的本地路径配置
- pubspec.lock:当前项目依赖所生成的文件
- pubspec.yaml: 当前项目的一些配置文件,包括依赖的第三方库、图片资源文件等
- README.md:    READEME文件
pubspec.yaml详解
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 
 | name: flutter_app
 description: A new Flutter application.
 
 publish_to: 'none'
 
 version: 1.0.0+1
 
 
 environment:
 sdk: ">=2.7.0 <3.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 dependencies:
 flutter:
 sdk: flutter
 
 
 
 
 
 cupertino_icons: ^1.0.0
 
 
 dev_dependencies:
 flutter_test:
 sdk: flutter
 
 
 flutter:
 uses-material-design: true
 
 
 assets:
 - images/
 
 fonts:
 - family: Schyler
 fonts:
 - asset: fonts/Schyler-Regular.ttf
 - asset: fonts/Schyler-Italic.ttf
 style: italic
 - family: Trajan Pro
 fonts:
 - asset: fonts/TrajanPro.ttf
 - asset: fonts/TrajanPro_Bold.ttf
 weight: 700
 
 | 
包依赖方式
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | // 本地依赖dependencies:
 pkg1:
 path: ../../code/pkg1
 
 // 依赖github地址
 dependencies:
 pkg1:
 git:
 url: git://github.com/xxx/pkg1.git
 path: packages/package1  //path参数指定相对位置
 
 | 
资源管理
| 12
 3
 4
 
 | flutter:assets:
 - assets/my_icon.png
 - assets/background.png
 
 | 
assets指定应包含在应用程序中的文件, 每个asset都通过相对于pubspec.yaml文件所在的文件系统路径来标识自身的路径。asset的声明顺序是无关紧要的,asset的实际目录可以是任意文件夹(在本示例中是assets文件夹)。
Dart项目结构
写Dart也可按照Android的MVVM思想来划分文件夹结构
- lib
- api:网络库
- base:基础组件
- data:数据model
- model:网络请求数据的封装,方便跟后端映射
- utils:工具类
- view:视图文件夹
- viewmodel:vm层
 
参考