跳到主要內容

Flutter 與 pubspec 檔案

每個 Flutter 專案都包含一個 pubspec.yaml 檔案,通常稱為 pubspec。當您建立新的 Flutter 專案時,會產生基本的 pubspec。它位於專案樹狀結構的頂端,包含 Dart 和 Flutter 工具需要知道的專案中繼資料。pubspec 是以 YAML 撰寫,YAML 是人類可讀的,但請注意空白字元 (tab 與空格) 很重要

pubspec 檔案會指定專案所需的依賴項目,例如特定的套件(及其版本)、字體或影像檔案。它也會指定其他需求,例如開發人員套件(如測試或模擬套件)的依賴關係,或對 Flutter SDK 版本的特定限制。

Dart 和 Flutter 專案共有的欄位,已在 dart.dev 上的pubspec 檔案中說明。本頁列出Flutter 特有的欄位,這些欄位僅對 Flutter 專案有效。

當您使用 flutter create 指令(或使用 IDE 中對應的按鈕)建立新專案時,它會為基本的 Flutter 應用程式建立一個 pubspec 檔案。

以下是一個 Flutter 專案 pubspec 檔案的範例。僅 Flutter 欄位會被醒目提示。

yaml
name: <project name>
description: A new Flutter project.

publish_to: none

version: 1.0.0+1

environment:
  sdk: ^3.5.0

dependencies:
  flutter:       # Required for every Flutter project
    sdk: flutter # Required for every Flutter project
  flutter_localizations: # Required to enable localization
    sdk: flutter         # Required to enable localization

  cupertino_icons: ^1.0.8 # Only required if you use Cupertino (iOS style) icons

dev_dependencies:
  flutter_test:
    sdk: flutter # Required for a Flutter project that includes tests

  flutter_lints: ^5.0.0 # Contains a set of recommended lints for Flutter code

flutter:

  uses-material-design: true # Required if you use the Material icon font

  generate: true # Enables generation of localized strings from arb files

  assets:  # Lists assets, such as image files
    - images/a_dot_burr.jpeg
    - images/a_dot_ham.jpeg

  fonts:              # Required if your app uses custom 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

資產

#

常見的資源類型包括靜態資料(例如 JSON 檔案)、組態檔案、圖示和影像(JPEG、WebP、GIF、動態 WebP/GIF、PNG、BMP 和 WBMP)。

除了列出應用程式套件中包含的影像之外,影像資源也可以參考一個或多個特定解析度的「變體」。如需更多資訊,請參閱資源和影像頁面的解析度感知章節。如需從套件依賴項目新增資源的資訊,請參閱同一頁面中的套件依賴項目中的資源影像章節。

字型

#

如上面的範例所示,字體區段中的每個項目都應該有一個 family 金鑰,其中包含字體系列的名稱,以及一個 fonts 金鑰,其中包含一個清單,指定字體的資源和其他描述符。

如需使用字體的範例,請參閱使用自訂字體從套件匯出字體,這些範例位於Flutter 食譜中。

更多資訊

#

如需有關套件、外掛程式和 pubspec 檔案的更多資訊,請參閱以下內容: