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:

  • Standard: o processo de implantação normal.
  • Rápido (padrão): minimiza o tempo necessário para implantação quando os arquivos de mais de uma localidade são implantados.
  • Compacto: minimiza o espaço ocupado pelos arquivos de exibição publicados.

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:

  1. Para cada tema, um local arbitrário é escolhido e todos os arquivos para esse local são implantados, como na estratégia padrão.

  2. Para todas as outras localidades do tema:

    1. Os arquivos que substituem o local implantado são definidos e implantados.
    2. Todos os outros arquivos são considerados semelhantes para todas as localidades e são copiados da localidade implantada.
INFO
Por semelhante, queremos dizer arquivos que são independentes da localidade, tema ou área. Esses arquivos podem incluir CSS, imagens e fontes.

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.

Padrão
Descrição
<area>/<theme>/<locale>
Arquivos específicos para uma determinada área, tema e localidade
<area>/<theme>/default
Arquivos semelhantes para todas as localidades de um tema específico de uma área específica.
<area>/Magento/base/<locale>
Arquivos específicos para uma área e localidade específicas, mas semelhantes para todos os temas.
<area>/Magento/base/default
Arquivos específicos para uma área específica, mas semelhantes para todos os temas e localidades.
base/Magento/base/<locale>
Arquivos semelhantes para todas as áreas e temas, mas específicos para uma localidade específica.
base/Magento/base/default
Semelhante para todas as áreas, temas e localidades.

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.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c