3
respostas

Sobre a função asset

Boa tarde. O professor disse

"[05:15] Só que em alguns casos podemos ter o nosso front-end, vindo de outro domínio, então por exemplo, podemos configurar o webpack para fazer essa compilação toda e subir em um S3 da Amazon, e aí aqui eu precisaria saber o caminho desse S3, ao invés de estar em uma configuração, então para poder utilizar esse tipo de coisa lá no futuro, eu posso utilizar a função asset, então dentro dos meus assets, que por enquanto é a minha pasta “public”, eu vou buscar dentro de “css” um (‘css/app.css’). [05:44] Então é uma boa prática utilizarmos essa função asset, sempre que vamos buscar um recurso que está dentro da “public”, porque de novo, no futuro, em alguma configuração sua, você pode querer ter os seus assets, seus arquivos estáticos, em outro lugar, em algum CDN da vida, um S3 da Amazon e etc., mas chega de complicar porque eu sei que eu já compliquei bastante, vamos atualizar para garantir que tudo continua funcionando."

Confesso que não entendi muito bem ainda do porque usar esse asset

3 respostas

Acredito que ele, esteja querendo dizer, que em alguns projetos podemos utilizar arquivos css,js ou a pasta img ( ativos ), localizados em domínio diferente de onde está hospedado o site. A boa prática de utilizar o asset é que ser você trocar domínio onde hospeda os ativos do site, basta configurar o ASSET_URL para o novo domínio, assim você não vai precisar atualizar os link dos ativos no seu projeto. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não entendi muito bem como a função sabe qual caminho buscar, se é numa pasta public ou em um servidor

Pelo que entendi no manual, você pode adicionar uma constante no arquivo .env:

ASSET_URL = '/public/'isso vai força o laravel a consultar a pasta public, mas acredito que ele já deve fazer isso por padrão.

Já nesse outro

ASSET_URL = 'https://cdn.example.com/assets'

vai força o laravel a consultar https://cdn.example.com/assets .

https://laravel.com/docs/9.x/helpers#method-asset

Isso é mais uma questão de estratégia, por exemplo, se você adicionar os ativos em um CDN, isso pode acelerar a entrega deles, mas se o site não tem muitos acessos pode não ser interessante ter um servidor externo e sim utilizar a pasta public. A velocidade de carregamento também é um critério fundamental para o SEO de um site e o CDN ajuda nesse processo, mas isso gera um custo maior para a manutenção de um site, por isso deve ser avaliado a necessidade de usa-lo.