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
Seção intitulada Construa um componente HambúrguerCrie 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
Seção intitulada Escreva sua primeira tag de scriptSeu 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
Seção intitulada Importando um arquivo .jsAo 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
Seção intitulada 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
Seção intitulada ChecklistRecursos
Seção intitulada RecursosScripts no lado do cliente no Astro
Tutorials