Liquid, JavaScript, Temas
Estou enfrentando um problema ao desenvolver um tema no ambiente local usando o comando shopify theme dev. As imagens que estão na pasta assets não aparecem no tema durante o desenvolvimento, porque os links gerados no ambiente local (http://127.0.0.1:9292/assets/image-name.png) não funcionam corretamente.
Por exemplo, no meu CSS, faço referência às imagens com url('assets/image-name.png'), mas elas não carregam no ambiente dev. Isso torna difícil visualizar o tema corretamente enquanto estou ajustando o design.
Alguém já enfrentou esse problema ou desenvolveu alguma solução para exibir as imagens corretamente durante o desenvolvimento?
Agradeço desde já por qualquer ajuda!
Olá Rhmartins, como vai?
Esse problema ocorre porque o comando shopify theme dev não serve os arquivos diretamente da pasta assets no ambiente local. Ele transforma os arquivos e os serve de maneira otimizada para o ambiente Shopify. Para corrigir isso e conseguir visualizar as imagens no ambiente de desenvolvimento, você pode seguir uma das soluções abaixo:
Acesse seus arquivos CSS e altere as referências para os caminhos absolutos gerados pelo Shopify. Em vez de usar:
Use:
Isso funciona porque o Shopify serve os arquivos da pasta assets a partir do prefixo /assets.
No Shopify, o caminho mais seguro para referenciar ativos (imagens, arquivos CSS ou JS) é usando tags Liquid. No lugar de caminhos relativos no CSS, você pode usar:
Isso garante que o Shopify gere os links corretamente para o ambiente local e produção.
Caso queira continuar utilizando links relativos, você pode configurar um servidor local para servir a pasta assets. Por exemplo, usando o Live Server no VS Code:
Outra solução é enviar temporariamente os arquivos para o tema online enquanto está no ambiente de desenvolvimento. Faça isso com o comando:
Isso permite que você visualize os ativos corretamente na URL gerada pelo shopify theme dev.
Se as imagens ainda não aparecem, inspecione as requisições de rede no navegador (devtools > aba Network). Verifique:
Essas abordagens devem resolver o problema. A solução com Liquid é a mais indicada porque é a mais consistente tanto no ambiente local quanto no ambiente de produção.
Não vai aparecer pois o caminho que você está utilizando está errado. O caminho que tem que utilizar nesse caso é a URL da imagem, esse caminho você vai ver em arquivos > procurar o arquivo e pegar o link no painel.
Att, Gustavo Melo