老孟导读:pubspec.yaml 文件是 Flutter 中非常重要的配置文件,下面就让我们看看里面各个配置的含义。 pubspec.yaml 是 Flutter 项目的配置文件,类似于 Android 中的 Gradle 配置文件,下面我们就看看 pubspec.yaml 中各个属性的配置。 创建一个新的项目(Flutter Application),pubspec.yaml 位于根目录,如图: 项目中默认配置,去掉注释部分,剩下如下: name: flutter_app description 而现在可以直接通过 pubspec.yaml 进行修改。 更详细的信息可以转到pubspec的官方文档查看。
简介 pubspec.yaml是所有dart项目的灵魂,它包含了所有dart项目的依赖信息和其他元信息,所以pubspec.yaml就是dart项目的meta! pubspec.yaml支持的字段 根据dart的定义,pubspec.yaml中可以包含下面的字段: 字段名 是否必须字段 描述 name 是 package的名字 version 如果发布到pub.dev 想要覆盖的package environment dart2需要 executables 否 package的可执行文件路径 publish_to 否 package将如何发布 注意,以上是dart中pubspec.yaml environment:中还支持指定flutter的版本: environment: sdk: '>=1.19.0 <3.0.0' flutter: ^0.1.2 总结 以上就是dart的元世界pubspec.yaml 本文已收录于 http://www.flydean.com/10-dart-pubspec/
添加一个package的步骤如下: 打开应用文件夹下的 pubspec.yaml 文件,然后在 pubspec.yaml 下添加包,如css_colors. 在命令行中运行:flutter pub get或者在 Android Studio/IntelliJ 中点击 pubspec.yaml 文件顶部操作功能区的 Packages get,在 VS Code 中点击位于 pubspec.yaml 文件顶部操作功能区右侧的 Get Packages 在 Dart 代码中添加相关的 import 语句。 在这种情况下,可在 pubspec.yaml 文件中添加一个依赖覆盖声明来强制使用特定版本,从而处理冲突。 /bin/bash egrep -r --include="pubspec.yaml" --exclude-dir={ios,android} "\^" -n . > non_fixed_packages.log
Wrong indentation for assets in pubspec.yaml file. Not given proper path. Extra whitespace in pubspec.yaml file Solutions How to solve unable to load asset in flutter Generally this error cause of wrong indentation for assets in pubspec.yaml file, Not given proper path and extra whitespace in pubspec.yaml file.
应用字体资源文件 : 在 Flutter 应用根目录下创建 fonts 目录 , 将下载的 ttf 字体放资源文件在该 fonts 目录下 ; 2、ttf 字体资源配置 配置字体资源 : 自定义字体资源需要在 pubspec.yaml asset: fonts/RubikMonoOne-Regular.ttf 该配置对应的字体文件 RubikMonoOne-Regular.ttf 放在根目录下的 fonts 目录下 ; 3、获取字体 在 pubspec.yaml exit code 0 4、全局使用字体 全局应用字体 : 在 MaterialApp 根节点的 theme 字段值的 ThemeData 组件中的 fontFamily 字段设置字体 , 这里设置在 pubspec.yaml
本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。 指定 assets 和包管理一样,Flutter也使用pubspec.yaml(https://www.dartlang.org/tools/pub/pubspec)文件来管理应用程序所需的资源,举个例子 pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。 打包包中的 assets 如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。 包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。
Pubspec 类图如下所示: 获取主工程依赖清单的代码如下所示 : /// 基于 .yaml 文件生成 Pubspec 类 Pubspec rootPubspec() { assert( ', ); // 获取 pubspec.yaml 文件路径 final pubspecPath = p.join(rootPackageDir, 'pubspec.yaml'); / / 将 pubspec.yaml 文件转换成 Pubspec 对象 return Pubspec.parse( File(pubspecPath).readAsStringSync(), ( parse.Pubspec pubspec, { bool includeDevDependencies = true, }) { // 依赖关系结果集 final deps = < Dependency>{}; // 正式依赖:对应 pubspec.yaml 中的 dependencies _populateFromSection(pubspec.dependencies
在Flutter中,资源采用先声明后使用的机制,在pubspec.yaml显示地声明资源路径后,才可以使用。 对于图片,Flutter基于像素密度,设立不同分辨率的目录分开管理,但只需要在pubspec.yaml中声明一次;而字体则基于样式支持,除了正常字体,还可以支持粗体、斜体等样式。 所以,pubspec.yaml与iOS中的Podfile、Android中的build.gradle、前端的package.json在功能上是类似的。 在资源包中的pubspec.yaml文件已经声明了同样资源的情况下,为节省应用程序安装包大小,我们需要复用依赖包中的资源。 pubspec.yaml,配置各种包依赖,找寻符合各种依赖关系的包版本; pubspec.lock,存储第三方包最终确定的版本以及具体来源; .packages,包名与下载缓存的映射 以上。
在 pubspec.yml 的 assets 部分指定assets 路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。 /images/dark/icon.png 在你的 pubspec.yml 文件中只需包含 flutter: assets: - images/icon.png 在实际构建过程中, 上面两个文件都将打入你的 /icon.png ../2.0x/icon.png ../3.0x/icon.png 注意:在pubspec 声明时只需 声明 xx/icon.png 即可,其中xx是你具体的包位置。 pubspec.yaml 中 asset 部分中的每一项都应该与实际文件相同,但主资源项除外。 中声明的图片,对于这种情况,必须在 pubspec.yaml 中指定包含哪些图像。
CHANGELOG.md |-- LICENSE |-- README.md |-- flutter_package.iml |-- lib | '-- flutter_package.dart |-- pubspec.yaml potential issue: * It's strongly recommended to include a "homepage" or "repository" field in your pubspec.yaml Package has 1 warning. pub finished with exit code 65 二、解决方案 ---- 在 pubspec.yaml 中配置 主页 homepage 地址
加载图片 例如加载一张图片,在 Flutter 中使用 pubspec.yaml 文件来管理所需要的文件 在加载图片之前,需要在根目录下创建一个文件夹,里面存放图片,以及它所对应分辨率的图片 如上图 images 文件夹,然后放入图片,并创建对应分辨率的文件夹,将图片放进去即可 注意:flutter 默认是必须要创建 2.0x 和 3.0x,至于4.0x,可自行选择 图片准备好之后,就可以通过 pubspec.yaml 在 pubspec.yaml 的 assets 部分指定路径时,构建过程中,会在相邻的子目录去查找具有相同名称的任何文件,这些文件随后会与指定的 asset 一起被包含在 asset bundle 中。 /pubspec.yaml .../images/icon.png ... /images/2.0x/icon.png 复制代码 然后在 pubspec.yaml 中,只需要包含: flutter: assets: - images/icon.png 复制代码 那么这两个
pubspec.yaml 简单点讲,一个dart的package就是包含pubspec.yaml的目录。 pubspec.yaml是一个描述文件,用来表明该package的元信息,包括当前package的名字,版本号和依赖信息等。 要想使用pub.dev上的packages,只需要在pubspec.yaml引入对应的依赖即可。 get packages 当我们修改了pubspec.yaml之后,其实对应的package并没有下载到本地来,还需要通过下面的命令来下载对应的packages: cd <path-to-my_app > dart pub get dart pub get会根据pubspec.yaml中配置的内容下载对应的包,并放置在系统缓存中。
文章目录 前言 一、开发 Dart 包内容 二、配置 pubspec.yaml 三、编写 Dart 包使用说明 四、编写 Dart 包授权许可 五、设置版本变更记录 六、验证 Dart 包正确性 七、将 addOne(int value) => value + 1; } 实现了一个简单计算功能 , 导入该包后 , 调用 addOne 方法 , 就会将传入的参数 +1 返回 ; 这里保持不变 ; 二、配置 pubspec.yaml ---- 在 pubspec.yaml 中配置该项目 : # Dart 包名称 name: flutter_package # 描述 description: A new Flutter project gitignore |-- .metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- lib | '-- flutter_package.dart |-- pubspec.yaml metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- lib | '-- flutter_package_first_demo.dart |-- pubspec.yaml
Dart代码:main.dart Image:images Pubspec:pubspec.yaml 而已! 当您重新加载应用程序时,应该会看到截图中显示的相同布局。 Dart code: main.dart Images: images Pubspec: pubspec.yaml 列的工作方式与行相同。 以下示例显示了一列3个图像,每个图像高100个像素。 Dart code: main.dart Images: images Pubspec: pubspec.yaml 注意:如果布局太大而不适合设备,则会在受影响的边缘出现红色条纹。 Dart code: main.dart Icons: Icons class Pubspec: pubspec.yaml 嵌套行和列 布局框架允许您根据需要在行和列内部嵌套行和列。 Dart code: main.dart,下面的代码段 Images: images Pubspec: pubspec.yaml ?
这是因为你还没有在pubspec.yaml文件中引入english_words库。 第二步 在pubspec.yaml文件中添加如下代码: dependencies: english_words: ^3.1.0 注意空格!!! pubspec.yaml文件相当于Android里的build.gradle文件,但它里面对空额要求很严格,需要仔细。
安装插件 dependencies: package_info: ^0.4.3+4 在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。 安装插件 dependencies: path_provider: ^1.6.27 在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。 安装插件 dependencies: flutter_downloader: ^1.5.2 在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。 安装插件 dependencies: open_file: ^3.0.3 在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。 另外,上面代码中配置的版本号在 package_info 这个插件中是无法获取的,所以还需要在pubspec.yaml配置同样的版本信息,这样才能获取版本信息进行对比。
│ │ ├── support│ │ ├── updater│ └── plugins│ ├── image_picker│ ├── printer├── pubspec.lock ├── pubspec.yaml└── yarn.lockplugins 是依赖于原生平台的插件,components 是平台无关的组件,common 里面是领域对象,小组件,服务类,扩展等,平台无关, local.properties│ ├── oh-package-lock.json5│ ├── oh-package.json5│ └── oh_modules│ └── ...├── pubspec.lock └── pubspec.yaml可以看到,该项目只是一个壳工程,没有太多代码,主要为项目的一些特定配置,如主题、路由等,以及App入口初始化配置。 编辑 pubspec.yaml 文件,添加组件和模块依赖。
中可视化创建 2、命令行创建 三、创建 Dart 包 1、Android Studio 中可视化创建 2、命令行创建 一、Flutter 包和插件简介 ---- " Flutter 包 " 包含 pubspec.yaml 和 lib 代码目录 ; pubspec.yaml 配置文件 : 配置各种依赖 , 资源等 ; lib 目录 : 是 Dart 代码所在目录 ; Flutter 包的类型 : Dart 包 : 仅涉及 插件包目录结构介绍 : lib : Dart 代码目录 , 在默认生成的 flutter_plugin.dart 代码中 , 使用了 MethodChannel 与 Android / iOS 本地应用进行通信 ; pubspec.yaml ) flutter_plugin\LICENSE (created) flutter_plugin\flutter_plugin.iml (created) flutter_plugin\pubspec.yaml 创建的 Flutter 包如下 : Dart 包目录结构介绍 : lib : Dart 代码目录 , 在默认生成的 flutter_package.dart 代码中 , 封装 Dart 功能 ; pubspec.yaml
创建pubspec.yaml文件 2). 创建bin/main.dart文件 3). 创建C环境,创建library、library/build文件夹 4). |_ library |_ build |_ CMakeLists.txt |_ sample.c |_ sample.h |_ sample.def |_ pubspec.yaml 复制代码 2. pubspec.yaml引入FFI 在pubspec.yaml文件中的dependencies中加入ffi、path库 pubspec.yaml name: ffi_sample version
在 pubspec.yaml 中声明字体 现在你已经有一个字体可以使用,接下来则需要告诉 Flutter 它在哪。 你可以在 pubspec.yaml 中像下面这样声明: flutter: fonts: - family: your font fonts: - asset: asset 是字体文件对于 pubspec.yaml 文件的相对路径。这些文件包含了字体中字形的轮廓。构建应用时,这些文件将会被包含在应用程序的资源包中。 提供的 fontFamily 的值必须与 pubspec.yaml 中声明的名称相匹配。 同样的,这里的 fontFamily 的值必须与 pubspec.yaml 中声明的值相匹配。