Flutter - Packages管理

依赖管理

在原生开发中,Android使用Gradle来管理依赖,iOSCocoapodsCarthage来管理依赖。Flutter使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖Package。

YAML是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或Json相比,它语法简单并非常容易解析,所以YAML常用于配置文件,Flutter也是用yaml文件作为其配置文件,Flutter项目默认的配置文件是pubspec.yaml。

特别注意的是,日常开发中,yaml文件每次编辑要注意层级空格,有时候明明是复制过来的,但是因为多缩进了一个空格,就报错了

依赖来源

1. Pub仓库

Pub 是Google官方的Dart Packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。 eg:

dependencies:
  # 网络包
  http: 0.12.1

2. git仓库

  1. 在git仓库根目录
dependencies:
  pkg1:
    git:
      url: git://github.com/xxx/pkg1.git //在git仓库根目录
  1. 不在git仓库的根目录
dependencies:
  package1:
    git:
      url: git://github.com/flutter/packages.git
      path: packages/package1 //不在git仓库的根目录

3. 本地包

dependencies:
    pkg1:
        path: ../../code/pkg1 //本地路径

安装使用

1.添加依赖

打开 pubspec.yaml文件,然后在dependencies(Project - pubspec.yaml - dependencies)下添加http(网络请求pub):

dependencies:
  # 网络包
  http: 0.12.1

2.安装依赖

  1. 方法一:在 terminal中: 运行 flutter packages get
  2. 方法二:在 IntelliJ/AS IDE中: 点击pubspec.yaml文件顶部的Packages Get

3.导入 import使用

文件中导入 对应包,其中as相当于重命名
import 'package:http/http.dart' as http;

4.升级依赖包

如果修改了pubspec.yaml文件,或者只想更新应用依赖的包(不包括Flutter SDK),使用以下命令:

//获取pubspec.yaml文件中列出的所有依赖包
flutter packages get  
//获取pubspec.yaml文件中列出的所有依赖包的最新版本,拿到版本号后,修改pubspec.yaml文件,再次 flutter packages get 即可
flutter packages upgrade 

版本控制

dependencies:
  # 指定版本
  xxPlugin: 0.12.1

  # 指定一个最小和最大的版本号
  xxPlugin: '>=0.1.2 <0.2.0'

  #限定版本  '^0.1.2' //相当于'>=0.1.2 <0.2.0'  
  xxPlugin: ^0.1.2

关于 ^请参考 caret 语法

本节参考 Flutter开发- flutter的pub包管理

原文链接:juejin.im

上一篇:jquery实现下拉多选框
下一篇:WebWorker,这次一定会!

相关推荐

  • (前端工程化01)私人管家-包管理器

    字数:3883, 阅读时间:10分钟,点击阅读原文 目录: 磨刀篇开发环境搭建 私人管家包管理器 待续 点击查看源网页(/public/upload/7b9b054b364e1627547...

    1 个月前
  • (前端工程化01)私人管家-包管理器

    字数:3883, 阅读时间:10分钟,点击阅读原文 目录: 磨刀篇开发环境搭建 私人管家包管理器 待续 点击查看源网页(/public/upload/fde96d7941fadecf7f3...

    2 个月前
  • (前端工程化01)私人管家-包管理器

    字数:3883, 阅读时间:10分钟,点击阅读原文 点击查看源网页(/public/upload/4b3364dbda7cb152b15a01d33da483ed) 包管理器 在很久很久...

    2 个月前
  • 高频数据交换下Flutter与ReactNative的对比

    (标题图片来自网络,侵删) 后端使用go写的socketio服务模拟期货行情数据,每10ms推送10条行情数据 ReactNative已经尽力优化了。 Flutter由于没fluttersock...

    2 年前
  • 首发 | 闲鱼公开多年 Flutter 实践经验

    (https://img.javascriptcn.com/7f312df423086aca9f69ec144384ad5f) 阿里妹导读:Flutter从诞生到现在,已经成为了跨端开发的领跑者。

    9 个月前
  • 项目管理软件有哪些好的推荐?

    随着企业规模不断的扩大,项目管理成为最大的挑战和难题,会出现一系列的问题如:资源消耗失控,而项目部门和相关部门之间沟通越来越困难,团队凝聚力下降、项目进度难以把控,项目成本几乎失控等。

    1 个月前
  • 闲鱼基于Flutter的移动端跨平台应用实践

    (https://img.javascriptcn.com/236544346eb00808bf4656b59db1dfcf)作者|王树彬编辑|覃云本文来自阿里巴巴闲鱼无线技术专家王树彬在今年 GMT...

    2 年前
  • 重学Javascript之变量,作用域及内存管理

    JavaScript变量及类型检测 javascript数据类型分为基本数据类型,引用数据类型和Symbol。 基本数据类型 String,Number,Boolean,undefined,...

    8 个月前
  • 配置式支持权限管理的 React 路由组件

    npm v(https://img.javascriptcn.com/c2a6e7da8401a14fd8a6a20c3b9dffea)(/go/?target=https%3A%2F%2Fwww.n...

    2 年前
  • 部署 Springboot 前后端分离管理系统

    近日发现了一个非常优秀的后台管理系统,界面美观简洁,非常好看,使用Springboot,vue,element技术栈,项目地址若依管理后台,所以,就先从GitHub上拉下来在本地跑起来看看效果。

    3 个月前

官方社区

扫码加入 JavaScript 社区