[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
靜態檢視檔案的部署策略
部署靜態檢視檔案時,您可以選擇三種可用策略之一。 其中每個選項都可針對不同使用案例提供最佳部署結果:
以下各節說明每個策略的實作詳細資訊和功能。
標準策略
使用標準策略時,會部署所有套件的所有靜態檢視檔案,也就是由\Magento\Framework\App\View\Asset\Publisher
處理。
如需詳細資訊,請參閱部署靜態檢視檔案。
快速策略
快速策略會執行下列動作:
-
對於每個主題,選擇一個任意語言環境,並部署此語言環境的所有檔案,例如在標準策略中。
-
對於主題的所有其他地區:
- 會定義並部署覆寫已部署地區設定的檔案。
- 對於所有語言環境,所有其他檔案都視為類似,並從已部署語言環境複製。
雖然有許多檔案重複,但此方法可儘量減少多個區域設定所需的部署時間。
精簡策略
壓縮策略藉由將類似的檔案儲存在base
子目錄中來避免檔案重複。
為獲得最佳化結果,已分配了三個可能相似性的範圍:區域、主題和地區設定。 會為這些範圍的所有組合建立base
子目錄。
檔案會根據下列模式部署至這些子目錄。
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
對應已部署的檔案
壓縮策略中使用的部署方法表示檔案繼承自基本主題和區域設定。 這些繼承關係會儲存在區域、主題和區域設定的每個組合的地圖檔案中。 PHP和JS有單獨的對應檔案:
map.php
requirejs-map.js
map.php
Magento\Framework\View\Asset\Repository
已使用檔案來建置正確的URL。
requirejs-map.js
由baseUrlResolver
外掛程式用於RequireJS。
map.php
的範例:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
requirejs-map.js
的範例:
require.config({
"config": {
"baseUrlInterceptor": {
"jquery.js": "../../../../base/Magento/base/en_US/"
}
}
});
擴充功能開發人員的提示
若要建置靜態檢視檔案的URL,請使用\Magento\Framework\View\Asset\Repository::createAsset()
。
請勿使用URL串連來避免在頁面轉譯期間找不到且未顯示靜態檔案的問題。