Envie seu primeiro script ao navegador
Vamos adicionar um menu hambúrguer para abrir e fechar seus links em tamnhos de tela móveis, que necessita de interatividade no lado do cliente!
Se prepare para...
- Criar um componente de menu hambúrguer
- Escrever um
<script>
para permitir visitantes do site abrirem e fecharem o menu de navegação - Mover seu JavaScript para seu arquivo
.js
Construa um componente Hambúrguer
Crie um componente <Hamburguer />
para abrir e fechar sua navegação móvel.
-
Crie um arquivo chamado
Hamburguer.astro
emsrc/components/
-
Copie o seguinte código em seu componente. Isso irá representar o seu menu “hambúrguer” de 3-linhas para abrir e fechar seus links de navegação em dispositivos móveis. (Você vai adicionar os novos estilos CSS ao
global.css
posteriormente.) -
Coloque esse novo componente
<Hamburguer />
logo antes do seu componente<Navegacao />
emCabecalho.astro
.Me mostre o código!
-
Adicione os seguintes estilos ao seu componente Hambúrguer:
Escreva sua primeira tag de script
Seu cabeçalho ainda não é interativo pois ele não consegue responder as interações do usuário, como clicar no menu hambúrguer para mostrar ou esconder os links de navegação.
Adicionar uma tag <script>
fornece JavaScript no lado do cliente para “escutar” por um evento do usuário e então responder de acordo.
-
Adicione a seguinte tag
<script>
emindex.astro
, logo antes da tag de fechamento</body>
. -
Verifique sua pré-visualização do navegador novamente em vários tamanhos, e verifique que você tem um menu de navegação funcional que é tanto responsivo ao tamanho da tela quanto responde a interação do usuário na página.
Importando um arquivo .js
Ao invés de escrever seu JavaScript diretamente em cada página, você pode mover os conteúdos da sua tag <script>
para seu próprio arquivo .js
em seu projeto.
-
Crie
src/scripts/menu.js
(você terá que criar uma nova pasta/scripts/
) e mova seu JavaScript para ela. -
Substitua os conteúdos da tag
<script>
emindex.astro
com a seguinte importação de arquivo: -
Verifique a pré-visualização do seu navegador novamente em um tamanho de tela menor e verifique que o menu hambúrguer ainda abre e fecha seus links de navegação.
-
Adicione o mesmo
<script>
por importação para suas outras duas páginas,sobre.astro
eblog.astro
e verifique que você tem um cabeçalho responsivo e interativo em cada página.
Você tinha utilizado algum JavaScript anteriormente para construir partes do seu site:
- Definir o título da sua página e cabeçalho dinamicamente
- Mapear através de uma lista de habilidades na página Sobre
- Mostrar elementos HTML condicionalmente
Esses comandos são todos executados em tempo de build para criar HTML estático para seu site, e então o código é “jogado fora.”
O JavaScript e uma tag <script>
é enviado para o navegador, e é disponível para execução, baseado na interação do usuário como atualizar a página ou alternar uma entrada.
Teste seu conhecimento
-
Quando o Astro executa qualquer JavaScript escrito no frontmatter de um componente?
-
Opcionalmente, Astro pode enviar JavaScript para o navegador para permitir:
-
O JavaScript no lado do cliente será enviado ao navegador do usuário quando ele é escrito ou importado:
Checklist
Recursos
Scripts no lado do cliente no Astro
Tutorials