使用畫布應用程式的原始程式碼來查看建立者在 Power Apps Studio 中所做的變更。 產生的畫布應用程式 YAML 程式碼是唯讀的,無法修改。 對該文件的任何變更都將被忽略並且可能會遺失。
- YAML 模式正在積極開發中,內容可能不完整。
- *.pa.yaml 檔案的目前靜態模式可在此處取得。
Power Fx 和 YAML 是 Power Apps 原始程式碼使用的語言。 YAML 因其人類可讀的格式而受到重視,並受益於各種各樣的編輯器、工具和操作庫。
存取原始程式碼檔
如果您使用的是 Dataverse Git 整合,則可以存取原始程式碼檔,而無需 .msapp 檔。
Power Apps Studio 建立畫布應用程式的原始程式碼,該程式碼作為 *.pa.yaml 檔案儲存在 .msapp 檔案中。 該 msapp 檔案是一個包含一組檔案的二進位檔案,其中包括原始程式碼。
提示
為了有效使用應用程式生命週期管理 (ALM),建議使用解決方案。 畫布應用程式套件不支援 ALM,僅應在 Dataverse 不可用時才用於基本匯入和匯出功能。
您也可以從 .msapp 檔案或使用 Power Platform CLI 獲取原始程式碼檔。
*.pa.yaml 檔可以在解壓縮的 .msapp 的 \Src 資料夾中找到。
重要
只有位於解壓縮的 .msapp 的 \Src 目錄中的檔案才能與原始檔控制一起使用。 .msapp 中的 JSON 檔不應作為原始程式碼使用,因為這些檔案在儲存和載入週期之間不穩定。
使用 Power Platform CLI 下載並解壓縮 pa.yaml 檔
使用 Power Platform CLI 連線到您的環境,然後使用以下命令:
- 要列出目前環境中的畫布應用程式,請使用命令:pac canvas list。
- 要提取原始程式碼文件,請使用命令:pac canvas download 以及參數 -d。
從 .msapp 檔案中提取原始程式碼文件
若要從 .msapp 檔中提取原始程式碼檔,有兩個選項:
- 手動解壓縮 .msapp 檔。
- 或者使用下列命令:
Expand-Archive -Path "C:\path\to\yourFile.msapp" -DestinationPath "C:\path\to\destination"
.msapp 檔案的文件結構
對於沒有 \src 資料夾的舊 .msapp 檔,請按照以下步驟生成原始程式碼檔:
- 在 Power Apps Studio 中匯入並重新儲存並下載新的 .msapp。
- 此後,您可以繼續提取原始程式碼檔案。
在 \src 資料夾中找到下列檔案和資料夾:
- App.pa.yaml:代表 App。
- [畫面名稱].pa.yaml:每個畫面一個檔,代表畫面。
- \Component:每個元件包含一個檔案的資料夾,表示為 [元件名稱].pa.yaml。
只有 \src 資料夾中的 *.pa.yaml 檔案可以用作原始程式碼。 任何其他文件都不應用程式作原始程式碼。
Power Apps YAML 結構描述版本
目前,Power Apps 原始程式碼有三個架構版本:
格式名稱 | 檔案副檔名 | Description |
---|---|---|
實驗性 | *.fx.yaml | 實驗性的 Power Apps Git 版本控制和 pac canvas unpack所使用的版本-不再處於開發中。 |
早期預覽 | - | 程式碼查看、複製程式碼、貼上程式碼所使用的版本。 此模式中沒有版本訊息,因此不適合進行版本控制。 當程式碼檢視正式可用 (GA) 時,它會切換到原始程式碼預覽格式。 |
原始程式碼 | *.pa.yaml 文件 | 包括原始檔控制的增強功能和版本詳細資訊,並且正在積極開發中。 |
實驗格式 (*.fx.yaml)
此模式描述了 Power Platform CLI 用於處理畫布應用程式並將其轉換為原始程式碼格式的實驗格式。 這種格式不再積極開發。
您無法直接將 *.fx.yaml 檔案轉換為新格式。 若要轉換舊版應用程式,請將畫布應用程式封裝為 .msapp 檔案並將其匯入 Power Apps Studio。
預覽版
此版本在預覽期間由程式碼檢視使用。 它旨在在 Power Apps Studio 中建立畫布應用程式,讓您輕鬆複製和貼上控制項。 在此版本中,原始程式碼在 Power Apps Studio 中使用,而不是像實驗格式那樣進行轉換。
預覽期間的格式是暫時性的,目前已不再使用。 您可以從預覽格式貼上程式碼。
以下是對實驗格式所做的變更:
- ZIndex 屬性刪除:ZIndex 屬性被刪除。 相反,螢幕被表示為控制項陣列。 控制項的順序決定了它們的堆疊順序。 普通控制按升序排列,而回應式控制則依降序排列。
- JSON 物件表示替換:不再使用「As」語法來定義控制項類型。 相反,控制項名稱識別碼的左側仍然是唯一的。 僅序列化不同於預設值的屬性。 兩個新屬性定義了控制項類型和預設值:
- 控制項:表示 YAML 中的控制項類型。
- 變體:標識控制項類型的變體,它可能會改變預設屬性值、新增或刪除屬性,或修改控制項的行為或版面配置。
這些屬性用於執行個體化控制項,不接受 Power Fx 運算式。
原始程式碼 (*.pa.yaml)
重要
- 畫布應用程式的 YAML 原始程式碼正在積極開發中。 內容可能不完整且可能會變更。
- .pa.yaml 檔案是唯讀的,只能用於查看在 Power Apps Studio 中所做的變更。 應用程式在載入時不會使用這些檔案。
- 不支援外部編輯、合併和衝突解決。
此模式專為原始檔控制目的而設計,並允許使用單一 YAML 檔案。
與之前格式相比的更新包括:
- 頂層節點元素的分組:
- 頂層關鍵字「App」和「Screens」是現在元素如何在頂層節點中進行分組的範例。
- 控制項版本規範:
- 現在,您可以使用控制關鍵字,後面跟著 @ 運算子來指定控制項的版本。 如果沒有指定版本,則使用控制項的最新版本。 此版本用於反序列化原始程式碼的屬性。 控制項的執行階段版本由製作版本定義。
- 簡化變體名稱:
- 並非所有控制項都需要變體。
- 所有控制項的 ZIndex 一致:
- 現在所有控制項都使用升序來確定 ZIndex 值,從 1 開始。 此行為符合 CSS 2 規範。