Crie um aplicativo da barra de ferramentas de desenvolvimento
O Astro inclui uma barra de ferramentas de desenvolvimento que você pode usar para inspecionar seu site, verificar problemas de acessibilidade e desempenho e mais. Essa barra de ferramentas pode ser estendida com aplicativos personalizados.
Crie um aplicativo de barra de ferramentas de desenvolvimento motivacional
Seção intitulada Crie um aplicativo de barra de ferramentas de desenvolvimento motivacionalNesta receita, você aprenderá a criar um aplicativo da barra de ferramentas de desenvolvimento que o ajudará a se manter motivado enquanto trabalha no seu site. Esse aplicativo exibirá uma mensagem motivacional sempre que você o ativar.
Criando a integração do Astro
Seção intitulada Criando a integração do AstroOs aplicativos da barra de ferramentas de desenvolvimento só podem ser adicionados pelas Integrações do Astro usando o hook astro:config:setup
. Você precisará criar um aplicativo de barra de ferramentas e a integração que o adicionará à barra de ferramentas do seu projeto Astro existente.
-
Na raiz do seu projeto Astro existente, crie uma nova pasta chamada
meu-app-toolbar/
para o aplicativo e os arquivos de integração. Crie dois novos arquivos nessa pasta:app.ts
eminha-integracao.ts
.Directorymeu-app-toolbar/
- app.ts
- minha-integracao.ts
Directorysrc/
Directorypages/
- …
- …
- astro.config.mjs
- package.json
- tsconfig.json
-
Em
minha-integracao.ts
, adicione o seguinte código para fornecer o nome da sua integração e a funçãoaddDevToolbarApp()
necessária para adicionar o aplicativo da barra de ferramentas de desenvolvimento com o hookastro:config:setup
:O
entrypoint
é o caminho para o arquivo do aplicativo da barra de ferramentas de desenvolvimento relativo à raiz do seu projeto Astro existente, não à pasta de integração (meu-app-toolbar
) em si.Para usar caminhos relativos para pontos de entrada, obtenha o caminho para o arquivo atual usando
import.meta.url
e resolva o caminho para o ponto de entrada a partir daí. -
Para usar essa integração em seu projeto, adicione-a ao array
integrations
em seu arquivoastro.config.mjs
. -
Se ainda não estiver em execução, inicie o servidor de desenvolvimento. Se a sua integração tiver sido adicionada com êxito ao projeto, você verá um novo aplicativo “undefined” na barra de ferramentas de desenvolvimento.
Porém, você também verá uma mensagem de erro informando que o aplicativo da barra de ferramentas de desenvolvimento não foi carregado. Isso ocorre porque você ainda não criou o aplicativo propriamente dito. Você fará isso na próxima seção.
Criando o aplicativo
Seção intitulada Criando o aplicativoOs aplicativos da barra de ferramentas de desenvolvimento são definidos usando a função defineToolbarApp()
do módulo astro/toolbar
. Essa função recebe um objeto com uma função init()
que será chamada quando o aplicativo da barra de ferramentas de desenvolvimento for carregado.
Essa função init()
contém a lógica do seu aplicativo para renderizar elementos na tela, enviar e receber eventos do lado do cliente da barra de ferramentas de desenvolvimento e se comunicar com o servidor.
Para exibir mensagens motivacionais na tela, você usará a propriedade canvas
para acessar um ShadowRoot padrão. Os elementos podem ser criados e adicionados ao ShadowRoot usando as APIs padrão do DOM.
-
Copie o código a seguir em
meu-app-toolbar/app.ts
. Isso fornece uma lista de mensagens motivacionais e a lógica para criar um novo elemento<h1>
com uma mensagem aleatória: -
Inicie o servidor de desenvolvimento se ele ainda não estiver em execução e ative o aplicativo na barra de ferramentas de desenvolvimento. Se o aplicativo estiver funcionando corretamente, você verá uma mensagem motivacional exibida no canto superior esquerdo da tela. (E é verdade!)
No entanto, essa mensagem não será alterada quando o aplicativo for ativado e desativado, pois a função
init()
é chamada apenas uma vez quando o aplicativo é carregado. -
Para adicionar interatividade no lado do cliente ao seu aplicativo, adicione o argumento
app
e useonAppToggled()
para selecionar uma nova mensagem aleatória sempre que o aplicativo da barra de ferramentas for ativado: -
Na visualização do navegador, ative e desative o aplicativo várias vezes. Com essa alteração, uma nova mensagem aleatória será selecionada toda vez que você ativar o aplicativo, proporcionando uma fonte infinita de motivação!
Criando aplicativos com um framework de UI
Seção intitulada Criando aplicativos com um framework de UIFrameworks de interface do usuário, como React, Vue ou Svelte, também podem ser usados para criar aplicativos de barra de ferramentas de desenvolvimento. Esses frameworks oferecem uma maneira mais declarativa de criar UIs e podem tornar seu código mais fácil de manter e ler.
O mesmo aplicativo de barra de ferramentas de desenvolvimento motivacional criado em seu projeto Astro existente anteriormente nesta página com JavaScript pode ser criado usando um framework de UI (por exemplo, Preact). Dependendo da estrutura escolhida, você pode ou não precisar de uma etapa de build.
Independentemente da sua escolha de criar o aplicativo da barra de ferramentas de desenvolvimento, usando JavaScript ou um framework de UI, você ainda precisará criar a integração que adiciona seu aplicativo à barra de ferramentas de desenvolvimento.
Sem uma etapa de build
Seção intitulada Sem uma etapa de buildSe o seu framework permitir, você poderá criar um aplicativo de barra de ferramentas de desenvolvimento sem uma etapa de build. Por exemplo, você pode usar a função h
do Preact para criar elementos e renderizá-los diretamente no ShadowRoot:
Como alternativa, o pacote htm
é uma boa opção para criar aplicativos da barra de ferramentas de desenvolvimento sem uma etapa de build, oferecendo integração nativa para React e Preact e suporte para outros frameworks:
Em ambos os casos, agora você pode iniciar seu projeto e ver a mensagem motivacional exibida no canto superior esquerdo da tela ao ativar o aplicativo.
Com uma etapa de build
Seção intitulada Com uma etapa de buildO Astro não pré-processa o código JSX em aplicativos da barra de ferramentas de desenvolvimento, portanto, é necessária uma etapa de build para usar componentes JSX em seu aplicativo da barra de ferramentas de desenvolvimento.
As etapas a seguir usarão o TypeScript para fazer isso, mas qualquer outra ferramenta que compile código JSX também funcionará (por exemplo, Babel, Rollup e ESBuild).
-
Instale o TypeScript em seu projeto:
-
Crie um arquivo
tsconfig.json
na raiz da pasta do seu aplicativo de barra de ferramentas com as configurações apropriadas para o build e para o framework que você está usando (React, Preact e Solid). Por exemplo, para o Preact: -
Ajuste o
entrypoint
em sua integração para apontar para o arquivo compilado, lembrando que esse arquivo é relativo à raiz do seu projeto Astro: -
Execute
tsc
para criar o aplicativo da barra de ferramentas outsc --watch
para automaticamente fazer o build do aplicativo quando você fizer alterações.Com essas mudanças, agora você pode renomear seu arquivo
app.ts
paraapp.tsx
(ou.jsx
) e usar a sintaxe JSX para criar seu aplicativo da barra de ferramentas de desenvolvimento:
Agora você deve ter todas as ferramentas necessárias para criar um aplicativo de barra de ferramentas de desenvolvimento usando um framework de UI de sua escolha!
Recipes