pubspec.yaml配置说明

2021-08-25  本文已影响0人  WLHere

概述

pubspec.yaml是dart项目使用的配置文件,使用YAML语言编写

用flutter开发需要了解pubspec的配置规则

pubspec.yaml示例:


image

pubspec有很多配置项,我们来一一介绍

配置项

name

  1. 必须项
  2. 必须是小写字母,用下划线分隔,例如: just_like_this
  3. 只能用基础拉丁字母和阿拉伯数字: [a-z0-9]
  4. 不能以数字开头,也不能是保留词
    image

version

  1. 如果发布到pub.dev,则必须有version
  2. 本地开发可以没有version(如果没有version,则默认是0.0.0)

description

  1. 可选项
  2. 如果要发布package,则必须填写description,用英文填写
  3. 描述不要太长,在60 to 180字符之间

homepage

  1. 可选项
  2. 是一个指向包主页或者源码仓库的URL

repository

  1. 可选项
  2. 源码仓库的URL

issure_tracker

  1. 可选项
  2. 用于跟踪问题的URL

documentation

  1. 可选项
  2. 包说明的URL

dependencies

  1. name:包名
  2. version:版本号
    1. 约束符号
      1. ^
        1. ^version:版本号要与指定的版本兼容
        2. ^1.2.3相当于 '>=1.2.3 <2.0.0'
        3. ^0.1.2相当于'>=0.1.2 <0.2.0'
      2. 其他符号
        1. any
        2. 1.2.3
        3. >=1.2.3
        4. >1.2.3
        5. <=1.2.3
        6. <1.2.3
  3. source:指定包来源
    1. sdk
      1. The SDK source is used for any SDKs that are shipped along with packages, which may themselves be dependencies
      2. 目前,flutter是唯一支持的sdk


        image
  1. Hosted packages

    1. 从pub.dev或者其他地址下载的包

    2. 从pub.dev下载


      image
    3. 从其他地址下载


      image
  2. Git packages

    1. 如果包尚未发布或者正在开发哦,可以用git packages指定git仓库


      image
    2. 如果是私有仓库, 可以使用SSH链接到仓库

      image
    3. 可以指定commit、分支、或者tag和其他git允许的引用

      image
    4. 默认是使用仓库根目录,可以使用其他目录


      image
  1. Path packages
    1. 依赖本地package工程


      image
  2. 可以使用相对路径
     1. 相对的是pubspec文件的路径
  3. 包含path依赖的工程无法上传到pub.dev,必须去除path依赖

dev_dependencies

开发使用的依赖,例如test、代码生成

dependency_overrides

  1. 用于临时替换依赖
  2. 替换为本地工程


    image
  1. 替换为其他版本


    image

environment

  1. 指定支持的sdk版本
  2. 约束dart sdk 版本


    image
  1. 约束Flutter sdk版本
    1. 从Dart 1.19.0开始, pub支持在environment下设置Flutter SDK约束


      image

executables

  1. 可选项
  2. 设置可以直接从命令行执行的脚本
  3. 申明可执行脚本:用key:value格式填写,如果不指定value会根据key推断
    1. slidy对应bin/main.dart. fvm自动推荐为bin/fvm.dart


      image

publish_to

  1. 可选项
  2. 设置发布包的地址

注意

Pub会忽略其他所有的属性

Flutter apps 的Pubspecs可以添加额外的属性配置环境和assets

image
上一篇下一篇

猜你喜欢

热点阅读