资讯专栏INFORMATION COLUMN

dart系列之:元世界pubspec.yaml文件详解

vibiu / 2427人阅读

摘要:有两种依赖信息,一种是所有使用到这个的人都需要用到的依赖,这种依赖放在中。还有一种是只用在当前开发中的包,这种依赖放在中。在某些情况下,我们有可能需要覆盖某些依赖包,则可以放在中。从之后,中还支持指定的版本总结总结以上就是的元世界详解。

 

目录
  • 简介
  • pubspec.yaml支持的字段
  • 一个例子
  • 字段详情
  • 总结

 

简介

pubspec.yaml是所有dart项目的灵魂,它包含了所有dart项目的依赖信息和其他元信息,所以pubspec.yaml就是dart项目的meta!

pubspec.yaml支持的字段

根据dart的定义,pubspec.yaml中可以包含下面的字段:

字段名 是否必须字段 描述
name package的名字
version 如果发布到pub.dev,则需要 package的版本号
description 如果发布到pub.dev,则需要 package的描述信息
homepage package的主页
repository package的源代码地址
issue_tracker package问题跟踪地址
documentation package的文档信息
dependencies package的依赖信息
dev_dependencies pacakge的dev依赖信息
dependency_overrides 想要覆盖的package
environment dart2需要  
executables package的可执行文件路径
publish_to package将如何发布

注意,以上是dart中pubspec.yaml支持的字段,如果是在flutter环境中,则会有些额外支持的字段。

一个例子

我们看一个具体的例子:

 name: my_appversion: 11.15description: >-  this is a new apphomepage: http://www.flydean.comdocumentation: http://www.flydean.comenvironment:  sdk: ">=2.10.0 <3.0.0"dependencies:  efts: ^2.0.4  transmogrify: ^0.4.0dev_dependencies:  test: ">=1.15.0 <2.0.0"

字段详情

下面来看下各个字段的详情和限制情况:

  1. Name

name表示的是包的名字,name必须是全小写,如果有多个词的话,可以用下划线来区分,如:my_app.

并且只能使用小写字母和数字的组合,同时不能以数字开头,并且不要使用dart中的保留字。

  1. Version

Version表示的是版本号,版本号是由点分割的三个数字,如:11.15.0. 后面还可以跟上build版本号:+1, +2, +hotfix.oopsie, 或者预发布版本等:-dev.4, -alpha.12, -beta.7, -rc.5.

  1. Description

package的描述信息最好使用英文来描写,长度是60 到180个字符,表示这个包的作用。

  1. Dependencies

有两种依赖信息,一种是所有使用到这个packages的人都需要用到的依赖,这种依赖放在dependencies中。

还有一种是只用在当前pacakge开发中的包,这种依赖放在dev_dependencies中。

在某些情况下,我们有可能需要覆盖某些依赖包,则可以放在:dependency_overrides中。

  1. Executables

有些pacakges提供的是工具供大家使用,这些工具有可能是命令行工具,所以需要在executables中指定可以执行的命令的路径。

比如下面的配置:

executables:  slidy: main  fvm:

那么在执行pub global activate之后,就可以在全局执行slidy来执行bin/main.dart, 和fvm来执行binfvm.dart.

  1. environment

因为Dart是一门新的语言,所以目前来说其变动还是挺大的。所以有些应用可以依赖于不同的dart版本,这时候就需要用到environment:

environment:  sdk: ">=2.10.0 <3.0.0"

上面的代码中,我们指定了dart sdk的版本范围。

从dart1.19之后,environment:中还支持指定flutter的版本:

environment:  sdk: ">=1.19.0 <3.0.0"  flutter: ^0.1.2

总结

以上就是dart的元世界pubspec.yaml详解。

本文已收录于 http://www.flydean.com/10-dart-pubspec/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123986.html

相关文章

  • flutter笔记7:flutter页面布局基础,看完这篇就可以用flutter写APP了

    摘要:布局控件不会直接呈现内容,可看作承载可视控件的容器。布局控件也是可以模拟显示的,通常用于调试布局样式时用到的网格线标尺动画帧等。但是当页面内容需要超出屏幕尺寸时,就用和代替。 不知不觉已经到了第7篇,然而很多萌新玩家可能还是不知道如何堆砌控件,像用CSS一样搭出漂亮的APP界面,我也一样,红红火火恍恍惚惚,直到今天含泪读完Flutter布局基础,仿佛打开了一个全新的世界。 基本概念 在...

    Flink_China 评论0 收藏0
  • 让前端开发者失业的技术,Flutter Web初体验

    摘要:掌握可能是前端开发者翻盘的唯一机会。是开发必须的代码库。区别与应用,我们导入的是库而非,这是因为目前的接口并非和的完全通用,不过随着谷歌开发的继续,它们最终会被合并到一块。 Flutter是一种新型的客户端技术。它的最终目标是替代包含几乎所有平台的开发:iOS,Android,Web,桌面;做到了一次编写,多处运行。掌握Flutter web可能是Web前端开发者翻盘的唯一机会。 show...

    shiguibiao 评论0 收藏0
  • flutter的入门实践到可开发

    摘要:继上一篇关于的介绍,是仿照微信界面,因为作为前端开发,有一定的基础,所有写起来,也不是很吃力。班门弄斧之作,若有大神见到,敬请指教,有不对不合理之处,敬请指出我是迩伶贰环境准备以系统为例。 flutter的入门记录 0.前言: flutter 的入门demo 已经写好一个星期了,只不过一直都没有整理出博客来。收拾好心情,来整理一下。继上一篇关于react-native-wx的介绍,是仿...

    _DangJin 评论0 收藏0

发表评论

0条评论

vibiu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<