文章目录
- 一:问题描述
- 二:属性详解
- ①:name
- ②:description
- ③:version
- ④:environment
- ⑤:dependencies
- ⑥:dev_dependencies
一:问题描述
在 Flutter 中,pubspec.yaml 是项目的核心配置文件,你可以把它想成 Android 项目中的 build.gradle 配置文件。
这里我新建一个 Flutter 项目,打开 pubspec.yaml 文件去掉注释后,如下图所示
默认项目中的属性有 8 个(其实还有其它的属性),接下来分别对属性做下说明。
二:属性详解
①:name
项目的包名。
举例说明一:
在一个文件引入另外一个文件时会用到,如下图所示
如果你更改了 name 属性后面的内容,则相应的在所有引用包名的地方都会被修改。
举例说明二:
我们在 pub.dev 上使用 Flutter 插件,会根据名称去找自己需要的,如下图所示
这个 url_launcher 就是作者写插件时项目中 name 属性对应的名称。当然如果你也想写一个 Flutter 插件发布到 pub.dev 上,那么 name 属性所对应的内容将作为标题显示。
②:description
当前项目的描述,是一个可选属性。
默认内容是 'none'
,这样可以防止你的项目发布到 pub.dev 上,反之,如果你希望发布到 pub.dev 上,则需要删除此属性。
我们在 pub.dev 上看到的插件下方的内容,如下图所示
对应的就是 description 属性后面的内容。
③:version
程序的版本和内部版本号,格式是 x.x.x+x,如 1.0.0+1,也称为语义版本号(semantic versioning)。
再细分的话,+
号前面的叫 version number,+
号后面的叫 build number。
对应 Android 项目中的 android - app - build.gradle 文件中的 android - defaultConfig 的 versionCode 和 versionName,
如下图所示
④:environment
指定项目中 Flutter 和 Dart 的版本控制,如下图所示
其中,属性 sdk 是声明该项目是基于 Dart 的 SDK 哪个版本进行编译。
如 sdk: ">=2.12.0 <3.0.0"
说明当前项目仅适用于大于等于 Dart SDK 2.12.0 到小于 3.0.0 的编译。
因为 Dart 的空安全是从 2.12.0 版本开始的,所以如果你用不是空安全的写法就会报错,如果你想向下兼容的话,最低版本写 2.12.0 之前的就行了。
⑤:dependencies
生产环境中项目的第三方插件依赖,dependencies 下的所有依赖都会编译到项目中。
⑥:dev_dependencies
开发环境中的依赖库版本。
你的问题得到解决了吗?欢迎在评论区留言。