flutter pubspec.yaml配置文件詳解


pubspec.yaml是Flutter項目的核心配置文件,類似於Android項目中的build.gradle配置文件.

  1. 配置文件示例如下:
    # 項目名稱,必填字端
    name: newtify
    
    
    # 版本號,非必填
    # 若需要將項目托管在pub.dev則該字段必填。
    version: 1.2.3
    
    
    # 項目描述,非必填
    # 若需要將項目托管在pub.dev則該字段必填。
    description: >-
      Have you been turned into a newt?  Would you like to be?
      This package can help. It has all of the
      newt-transmogrification functionality you have been looking
      for.
    
    
    # 項目主頁,非必填
    # 該項目的介紹主頁,填寫域名
    homepage: https://example-pet-store.com/newtify
    
    
    # 開發文檔位置,非必填
    # 與`homepage`不同,若該項目還包含其他文檔,可以將文檔的地址添加到該節點下。如果項目托管在pub.dev,該節點顯示項目的API信息。
    documentation: https://example-pet-store.com/newtify/docs
    
    
    # 項目的遠程庫,非必填
    # 若該項目是lib或開源庫,這個配置文件用於關聯庫的來源地址,最好填寫有效的地址,否則會無法關聯獲取項目。
    repository: https://github.com/<user>/<repository>
    
    
    # 問題追蹤頁面,非必填
    # 若該項目是一個開源且隨時更新的項目,可以通過填寫該屬性,標明該項目的問題追蹤文檔站點,如果使用pub.dev來進行項目托管,則pub.dev將嘗試通過該字段顯示該項目的問題跟蹤鏈接。若該項目托管在github,則可以將該字段填寫為github的issues
    issue_tracker: https://github.com/<user>/<repository>/issues
    
    
    # 項目的第三方插件依賴,在這個標簽中列出了該項目正常工作所需的每一個軟件包與版本。以下通過實例詳解該標簽的詳情
    dependencies:
      # 實例1 直接寫明約束版本,若該插件是發布在https://pub.dev/ 之上,IDE會直接在項目目錄下執行`flutter packages get`來下載其插件的最新版本
      transmogrify: 
      # 實例2 該插件是在實例1的基礎上進行延伸,其中`^1.4.0`的含義是約束了版本號,也就是在該項目中,需要使用1.4.0版本
      transmogrify: ^1.4.0
      #實例3 若該插件未部署在pub.dev之上,則可以通過URL來指定出插件下載的源
      transmogrify:
        hosted:
          name: transmogrify
          url: http://some-package-server.com
      #實例4 基於實例3,其中version表明了使用該插件的版本信息
      transmogrify:
        hosted:
          name: transmogrify
          url: http://some-package-server.com
        version: ^1.4.0
      #實例5 若該插件是發布在git上,可以用以下方式來進行插件獲取,默認獲取master下代碼
      transmogrify:
        git:
          url: git://github.com/munificent/kittens.git
      #實例6 基於實例5,其中ref標明獲取的分支信息
      transmogrify:
        git:
          url: git://github.com/munificent/kittens.git
          ref: some-branch
      #實例7 基於實例5,若插件只是在項目中的某一個目錄中,可以通過path來指定插件位置
      transmogrify:
        git:
          url: git://github.com/munificent/kittens.git
          path: path/to/kittens
      #實例8 若插件在本地某一目錄,可以通過指定path來找到該插件
      transmogrify:
        path: /Users/me/transmogrify
    
    
      #指定版本,若該項目使用的插件需要約束版本,則方法如下
      #實例1 在該項目中,此插件指定版本為1.4.0
      transmogrify: ^1.4.0
      #實例2 在該項目中,此插件最低版本為1.2.3
      transmogrify: ">=1.2.3"
      #實例3 在該項目中,此插件最低支持2.0.0版本,但不支持3.0.0以上版本
      transmogrify: ">=2.0.0 <3.0.0"
      #實例4 在該項目中,此插件最高支持到1.2.3以下版本
      transmogrify: "<1.2.3"
    
    
      #指定Flutter SDK
      #實例1 項目必填項,指定SDK,並獲取SDK最新版
      flutter:
        sdk: flutter
      #實例2 基於實例1,指定SDK版本號
      flutter:
        sdk: flutter
        version: ">=2.0.0-dev.68.0 <3.0.0"
      #實例3 另外一種寫法
      flutter_driver:
        sdk: flutter
        version: ^0.0.1
    
    
    # 區別於dependencies標簽,dependencies是生產環境依賴庫版本,dev_dependencies是開發環境依賴庫版本,該環境僅在開發調試時使用。標簽規則同dependencies。
    dev_dependencies:
      transmogrify: ^1.4.0
    
    
    # 重寫依賴包,會強制下載對應依賴包,並可以對該依賴包進行重寫。
    dependency_overrides:
      transmogrify: ^1.4.0
    
    
    # Dart2開始需要添加該標簽,聲明該項目是基於dart的SDK哪個版本進行編譯,隨着dart平台的發展,可能在某個版本后不再向下兼容,所以這個標簽約束了使用dart的版本
    # 例,以下約束說明此項目僅適用於2.0到3.0的dart2 SDK編譯。
    environment:
      sdk: '>=2.0.0 <3.0.0'
    
    
    # 可以將Dart2的可執行腳本引入到flutter之中,作為插件使用,但前提是這些腳本均可以在命令行正常調用。
    executables:
      <name-of-executable>: <Dart-script-from-bin>
    
    
    # 指定生成發布包的位置
    # 非必填
    # 若不填寫,則默認使用pub.dev站點進行發布,但若希望阻止發布,則需要聲明為none。
    # 同時此設置可以將flutter項目發布到自定義的服務器之中。
    publish_to: none
    
    
    #
    # 項目中配置聲明方式
    # 用於在項目中添加資源、設置字體、配置插件參數等。
    fluuter:
      # 實例1 添加資源
      assets:
          - images/park.jpg
      #設置字體,樣式,可以通過聲明family來設置字體分組
      fonts:
          - family: Schyler
            fonts:
              - asset: fonts/Schyler-Regular.ttf
              - asset: fonts/Schyler-Italic.ttf
                style: italic
    
    
          - family: Trajan Pro
            fonts:
          - asset: fonts/TrajanPro.ttf
          - asset: fonts/TrajanPro_Bold.ttf
            weight: 700
    
    
    #
    # 其他聲明方式
    
    
    # 實例1 定義常量
    age: 22
    boolitem: true
    name: 'hello'
    
    
    #實例2 定義數組
    server:
        - aaaaaa
        - bbbbbb
        - dddddd
    ————————————————
    原文鏈接:https://blog.csdn.net/talkxin/article/details/103890308

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM