Estratégias de implantação para arquivos de visualização estáticos
Ao implantar arquivos de visualização estáticos, você pode escolher uma das três estratégias disponíveis. Cada uma delas fornece resultados ideais de implantação para diferentes casos de uso:
As seções a seguir descrevem os detalhes e os recursos de implementação de cada estratégia.
Estratégia padrão
Quando a estratégia Padrão é usada, todos os arquivos de exibição estáticos de todos os pacotes são implantados, ou seja, processados por \Magento\Framework\App\View\Asset\Publisher
.
Para obter mais informações, consulte Implantar arquivos de exibição estáticos.
Estratégia rápida
A estratégia rápida executa as seguintes ações:
-
Para cada tema, um local arbitrário é escolhido e todos os arquivos para esse local são implantados, como na estratégia padrão.
-
Para todas as outras localidades do tema:
- Os arquivos que substituem o local implantado são definidos e implantados.
- Todos os outros arquivos são considerados semelhantes para todas as localidades e são copiados da localidade implantada.
Essa abordagem minimiza o tempo de implantação necessário para várias localidades, embora muitos arquivos sejam duplicados.
Estratégia compacta
A estratégia compacta evita a duplicação de arquivos armazenando arquivos semelhantes em subdiretórios base
.
Para o resultado mais otimizado, três escopos para possível similaridade são alocados: área, tema e localidade. Os subdiretórios base
são criados para todas as combinações desses escopos.
Os arquivos são implantados nesses subdiretórios de acordo com os padrões a seguir.
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
Mapeamento de arquivos implantados
A abordagem de implantação usada na estratégia compacta significa que os arquivos são herdados de temas básicos e localidades. Essas relações de herança são armazenadas nos arquivos de mapa para cada combinação de área, tema e localidade. Existem arquivos de mapa separados para PHP e JS:
map.php
requirejs-map.js
O arquivo map.php
é usado por Magento\Framework\View\Asset\Repository
para criar URLs corretas.
O requirejs-map.js
é usado pelo plug-in baseUrlResolver
para RequireJS.
Exemplo de map.php
:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
Exemplo de requirejs-map.js
:
require.config({
"config": {
"baseUrlInterceptor": {
"jquery.js": "../../../../base/Magento/base/en_US/"
}
}
});
Dicas para desenvolvedores de extensão
Para criar URLs para arquivos de exibição estáticos, use \Magento\Framework\View\Asset\Repository::createAsset()
.
Não use concatenações de URL para evitar problemas com arquivos estáticos que não são encontrados e exibidos durante a renderização da página.