文件夹目录
最基础的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详解
1 2 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
|
包依赖方式
1 2 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参数指定相对位置
|
资源管理
1 2 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层
参考