Referência da API
Global Astro
Seção intitulada Global AstroA global Astro
está disponível em todos os contextos em arquivos .astro
. Ela tem as seguintes funções:
Astro.glob()
Seção intitulada Astro.glob()Astro.glob()
é uma forma de carregar vários arquivos locais em seu site estático.
.glob()
recebe apenas um parâmetro: uma URL relativa dos arquivos locais que você gostaria de importar. Ela é assíncrona e retorna um array das exportações dos arquivos correspondentes.
.glob()
não pode receber variáveis ou strings que são interpoladas já que não são estaticamente analisáveis. (Veja o guia de solução de problemas para uma solução alternativa.) Isso acontece pois Astro.glob()
é feito em cima do import.meta.glob()
do Vite.
Você também pode usar import.meta.glob()
em si em seu projeto Astro. Você pode querer fazer isso quando:
- Você precisa dessa funcionalidade em um arquivo que não é
.astro
, como uma rota de API.Astro.glob()
é apenas disponível em arquivos.astro
, enquantoimport.meta.glob()
está disponível em qualquer parte do projeto. - Você não quer carregar cada arquivo imediatamente.
import.meta.glob()
pode retornar funções que importam o conteúdo do arquivo, ao invés de retornar o conteúdo em si. Note que essa importação inclui todos os estilos e scripts para quaisquer arquivos importados. Eles vão ser empacotados e adicionados para a página sendo o arquivo usado ou não, já que isso é decidido por análise estática e não em tempo de execução. - Você quer acessar o caminho de cada arquivo.
import.meta.glob()
retorna um map do caminho do arquivo ao seu conteúdo, enquantoAstro.glob()
retorna uma lista de conteúdo. - Você quer passar múltiplos padrões; por exemplo, você quer adicionar um “padrão negativo” que remove certos arquivos filtrados.
import.meta.glob()
pode opcionalmente receber um array de strings blog, ao invés de uma única string.
Leia mais sobre na documentação do Vite.
Arquivos Markdown
Seção intitulada Arquivos MarkdownArquivos Markdown carregados com Astro.glob()
retornam a seguinte interface MarkdownInstance
:
Você pode opcionalmente oferecer um tipo para a variável frontmatter
utilizando um generic do TypeScript.
Arquivos Astro
Seção intitulada Arquivos AstroArquivos Astro tem a seguinte interface:
Outros Arquivos
Seção intitulada Outros ArquivosOutros arquivos podem ter várias diferentes interfaces, mas Astro.glob()
aceita um generic do TypeScript se você souber exatamente o que o tipo de um arquivo desconhecido contém.
Astro.props
Seção intitulada Astro.propsAstro.props
é um objeto contendo quaisquer valores que foram passados como atributos do componente. Componentes de Layout para arquivos .md
e .mdx
recebem valores frontmatter como props.
Astro.params
Seção intitulada Astro.paramsAstro.params
é um objeto que contém os valores de segmentos dinâmicos de rota que correspondem a essa requisição.
Em builds estáticas, ele será o params
retornado por getStaticPaths()
usado para pré-renderizar rotas dinâmicas.
Em builds SSR, isso pode ser qualquer valor correspondente aos segmentos do caminho no padrão de roteamento dinâmico.
Veja também: params
Astro.request
Seção intitulada Astro.requestTipo: Request
Astro.request
é um objeto Request padrão. Ele pode ser utilizado para obter a url
, headers
, method
e até mesmo o body de uma requisição.
Veja também: Astro.url
Com a opção padrão output: 'static'
, Astro.request.url
não contém parâmetros de pesquisa, como ?foo=bar
, já que não é possível determiná-los com antecedência durante builds estáticas. Porém, no modo output: 'server'
, Astro.request.url
contém parâmetros de busca já que podem ser determinados pela requisição do servidor.
Astro.response
Seção intitulada Astro.responseTipo: ResponseInit & { readonly headers: Headers }
Astro.response
é um objeto ResponseInit
padrão. Ele tem a seguinte estrutura.
status
: O código numérico do status da resposta, e.x.,200
.statusText
: A mensagem de status associada com o código de status, e.x.,'OK'
headers
: Uma instância deHeaders
que você pode usar para definir os cabeçalhos HTTP da resposta.
Astro.response
é usado para definir o status
, statusText
e headers
para a resposta de uma página.
Ou para definir um header:
Astro.cookies
Seção intitulada Astro.cookiesTipo: AstroCookies
astro@1.4.0
Astro.cookies
possui utilidades para ler e manipular cookies no modo de renderização no lado do servidor (EN).
Tipo: (key: string, options?: AstroCookieGetOptions) => AstroCookie | undefined
Obtém o cookie como um objeto AstroCookie
, que contém value
e funções utilitários para converter o cookie em tipos que não sejam string.
Tipo: (key: string, options?: AstroCookieGetOptions) => boolean
Se o cookie existe. Se o cookie foi definido com Astro.cookies.set()
, ele irá retornar true, caso contrário, ele irá checar cookies em Astro.request
.
Tipo: (key: string, value: string | object, options?: AstroCookieSetOptions) => void
Define o cookie key
para o valor dado. Ele tentará converter o valor do cookie para uma string. Opções providenciam formas de definir funcionalidades de cookies, como maxAge
ou httpOnly
.
delete
Seção intitulada deleteTipo: (key: string, options?: AstroCookieDeleteOptions) => void
Invalida um cookie ao configurar sua data de validade para o passado (0 em tempo Unix).
Uma vez que o cookie é “deletado” (expirado), Astro.cookies.has()
retornará false
e Astro.cookies.get()
retornará um AstroCookie
com um value
de undefined
. Opções disponíveis ao deletar o cookie são: domain
, path
, httpOnly
, sameSite
, e secure
.
Tipo: (cookies: AstroCookies) => void
Mescla uma nova instância AstroCookies
na instância corrente. Quaisquer novos cookies serão adicionados com a instância corrente e quaisquer cookies com o mesmo nome irão sobrescrever valores existentes.
headers
Seção intitulada headersTipo: () => Iterator<string>
Obtém os valores de cabeçalho para Set-Cookie
que serão enviados com a resposta.
AstroCookie
Seção intitulada AstroCookieObter um cookie via Astro.cookies.get()
retorna um tipo AstroCookie
. Ele possui a estrutura seguinte.
Tipo: string
O valor cru string do cookie.
Tipo: () => Record<string, any>
Processa o valor do cookie via JSON.parse()
, retornando um objeto. Lança um erro se o valor do cookie não for um JSON válido.
number
Seção intitulada numberTipo: () => number
Processa o valor do cookie como Número. Retorna NaN se não for um número válido.
boolean
Seção intitulada booleanTipo: () => boolean
Converte o valor do cookie para um booleano.
AstroCookieGetOptions
Seção intitulada AstroCookieGetOptions
Added in:
astro@4.1.0
Obter um cookie permite especificar opções através da interface AstroCookieGetOptions
:
decode
Seção intitulada decodeTipo: (value: string) => string
Permite a personalização de como um cookie é desserializado em um valor.
AstroCookieSetOptions
Seção intitulada AstroCookieSetOptions
Added in:
astro@4.1.0
Definir um cookie via Astro.cookies.set()
permite passar AstroCookieSetOptions
para personalizar como o cookie é serializado.
domain
Seção intitulada domainTipo: string
Especifica o domínio corrente. Se nenhum domínio está configurado, a maioria dos clientes interpretará que é para aplicar o domínio corrente.
expires
Seção intitulada expiresTipo: Date
Especifica a data em que o cookie irá expirar.
httpOnly
Seção intitulada httpOnlyTipo: boolean
Se verdadeiro, o cookie não será acessível no lado do cliente.
maxAge
Seção intitulada maxAgeTipo: number
Especifica um número, em segundos, para qual o cookie é válido.
Tipo: string
Especifica um subcaminho do domínio em qual o cookie é aplicado.
sameSite
Seção intitulada sameSiteTipo: boolean | 'lax' | 'none' | 'strict'
Especifica o valor do cabeçalho SameSite do cookie.
secure
Seção intitulada secureTipo: boolean
Se verdadeiro, o cookie é configurado somente em sites https.
encode
Seção intitulada encodeTipo: (value: string) => string
Permite personalizar como o cookie é serializado.
Astro.redirect()
Seção intitulada Astro.redirect()Tipo: (path: string, status?: number) => Response
Permite que você redirecione para outra página, e forneça opcionalmente um código de status de resposta HTTP como segundo parâmetro.
Uma página (e não um componente filho) precisa retornar com return
o resultado de Astro.redirect()
para o redirecionamento acontecer.
Para sites gerados estaticamente, isso irá produzir um redirecionamento de cliente usando a tag <meta http-equiv="refresh">
e que não suporta códigos de status.
Ao usar um modo de renderização sob demanda, códigos de status são suportados. Astro servirá requisições de redirecionamento com um status de resposta padrão de 302
a não ser que outro código seja especificado.
O exemplo seguinte redireciona o usuário para uma página de login:
Astro.rewrite()
Seção intitulada Astro.rewrite()Tipo: (rewritePayload: string | URL | Request) => Promise<Response>
astro@4.13.0
Permite que você sirva conteúdo de uma URL ou caminho diferente sem redirecionar o navegador para uma nova página.
O método aceita tanto uma string, uma URL
, ou um Request
para a localização do caminho.
Use uma string para fornecer um caminho explícito:
Use um tipo URL
quando você precisar construir o caminho URL para o rewrite. O exemplo seguinte renderiza o caminho pai da página ao criar uma nova URL do caminho relativo "../"
:
Use um tipo Request
para controle completo do Request
enviado ao servidor para o novo caminho. O exemplo seguinte envia uma requisição para renderizar a página pai enquanto também fornece cabeçalhos:
Astro.url
Seção intitulada Astro.urlTipo: URL
astro@1.0.0-rc
Um objeto URL construído a partir do valor da string URL atual do Astro.request.url
. Útil para interagir com propriedades individuais da URL da requisição, como o nome do caminho e origem.
Equivalente a fazer new URL(Astro.request.url)
.
Astro.url
será localhost
em modo desenvolvimento se o site não estiver configurado para sites estáticos, e para sites renderizados sob demanda usando a saída output
como server
ou hybrid
.
Você também pode usar Astro.url
para criar novas URLs a passando como um argumento em new URL()
.
Astro.clientAddress
Seção intitulada Astro.clientAddressTipo: string
astro@1.0.0-rc
Especifica o endereço de IP da requisição. Esta propriedade é apenas disponível ao fazer build para SSR (renderização no lado do servidor) e não deve ser usado em sites estáticos.
Astro.site
Seção intitulada Astro.siteTipo: URL | undefined
Astro.site
retorna a URL
feita a partir do site
na sua configuração Astro. Se site
na sua configuração do Astro não estiver definido, Astro.sites
não será definido.
Astro.generator
Seção intitulada Astro.generatorTipo: string
astro@1.0.0
Astro.generator
é uma forma conveniente de adicionar uma tag <meta name="generator">
na sua versão atual do Astro. Ela segue o formato "Astro v1.x.x"
.
Astro.slots
Seção intitulada Astro.slotsAstro.slots
contém funções utilitárias para modificar os filhos em slots de um componente Astro.
Astro.slots.has()
Seção intitulada Astro.slots.has()Tipo: (slotName: string) => boolean
Você pode checar se existe conteúdo para um nome de slot específico com Astro.slots.has()
. Isso pode ser útil quando você quer envolver conteúdos de slots, mas apenas quer renderizar os elementos que os envolvem quando o slot está sendo utilizado.
Astro.slots.render()
Seção intitulada Astro.slots.render()Tipo: (slotName: string, args?: any[]) => Promise<string>
Você pode renderizar de forma assíncrona os conteúdos de um slot para uma string de HTML utilizando Astro.slots.render()
.
Isso é para casos de uso avançados! Na maioria das circunstâncias, é mais simples renderizar os conteúdos do slot com o elemento <slot />
.
Astro.slots.render()
opcionalmente aceita um segundo argumento: um array de parâmetros que serão passados para quaisquer funções filho. Isso pode ser útil para componentes utilitários customizados.
Por exemplo, esse componente <Grito />
converte sua prop mensagem
para letras maiúsculas e o passa como o slot padrão:
Uma função de callback passada como filho de <Grito />
receberá o parâmetro mensagem
em letras maiúsculas:
Funções callback podem ser passadas para slots onmeados desntro de um elemento HTML envoltório com o atributo slot
. Esse elemento será usado apenas para transferir o callback para o slot nomeado e não será renderizado na página.
Use um elemento HTML padrão como a tag envoltória, ou qualquer tag em minúsculas (como <fragment>
em vez de <Fragment />
) que ela não será interpretada como componente. Não use o elemento HTML <slot>
pois será interpretado como um slot Astro.
Astro.self
Seção intitulada Astro.selfAstro.self
permite que componentes Astro sejam recursivamente invocados. Este comportamento te permite renderizar um componente Astro em si mesmo utilizando <Astro.self>
no template do componente. Isto pode ser útil para iterar sobre grandes coleções e estruturas de dados aninhadas.
Este componente pode ser utilizado assim:
E renderizaria HTML assim:
Astro.locals
Seção intitulada Astro.locals
Added in:
astro@2.4.0
Astro.locals
é um objeto contendo quaisquer valores do objeto context.locals
de um middleware. Use isso para acessar dados retornados pelo middleware em seus arquivos .astro
.
Astro.preferredLocale
Seção intitulada Astro.preferredLocaleTipo: string | undefined
astro@3.5.0
Astro.preferredLocale
é um valor computado que representa o idioma de preferência do usuário.
Ele é computado checando as configurações de idioma do seu array i18n.locales
e os idiomas suportados pelo navegado do usuário através do cabeçalho Accept-Language
. Esse valor é undefined
se não houver uma correspondência.
Essa propriedade só está disponível ao fazer o build em modo SSR (renderização do lado do servidor) e não deve ser utilizada em sites estáticos.
Astro.preferredLocaleList
Seção intitulada Astro.preferredLocaleListTipo: string[] | undefined
astro@3.5.0
Astro.preferredLocaleList
representa a lista de todos os locales que são tanto requisitados pelo navegador quanto suportados pelo seu website. Isso produz uma lista de todas as linguagens compatíveis entre o seu site e seu visitante.
Se nenhuma das linguagens requesitadas pelo navegador forem encontradas na sua lista de idiomas, então o valor é []
: você não suporta nenhum dos idiomas de preferência do seu visitante.
Se o navegador não especificar nenhuma linguagem de preferência, então esse valor será igual ao i18n.locales
: todos os seus idiomas suportados serão considerados igualmente aceitáveis pelo visitante sem nenhuma preferênca.
Essa propriedade só está disponível ao fazer o build em modo SSR (renderização do lado do servidor) e não deve ser utilizada em sites estáticos.
Astro.currentLocale
Seção intitulada Astro.currentLocaleTipo: string | undefined
astro@3.5.6
O idioma computado a partir da URL atual, utilizando a sintaxe definida em sua configuração locales
. Se a URL não incluir um prefixo /[locale]/
então o valor será o padrão definido em i18n.defaultLocale
.
Astro.getActionResult()
Seção intitulada Astro.getActionResult()Tipo: (action: TAction) => ActionReturnType<TAction> | undefined
astro@4.15.0
Astro.getActionResult()
é uma função que retorna o resultado de uma Ação (EN) enviada. Isso aceita uma função de ação como argumento (como actions.logout
) e retorna um objeto data
ou error
quando o envio é recebido. Caso contrário, retornará undefined
.
Astro.callAction()
Seção intitulada Astro.callAction()
Added in:
astro@4.15.0
Astro.callAction()
é uma função usada para chamar um manipulador de Ação diretamente do seu componente Astro. Essa função aceita uma função Ação como primeiro argumento (como actions.logout
) e qualquer outra entrada que a ação recebe como segundo argumento. Ela retorna o resultado da ação como Promise
.
Contexto de Endpoint
Seção intitulada Contexto de EndpointFunções de Endpoint recebem um objeto de contexto como primeiro parâmetro. Ele copia muitas das propriedades da global Astro
.
context.params
Seção intitulada context.paramscontext.params
é um objeto que contém os valores de segmentos dinâmicos de rota que correspondem a essa requisição.
Em builds estáticas, ele será o params
retornado por getStaticPaths()
usado para pré-renderizar rotas dinâmicas.
Em builds SSR, ele pode ser qualquer valor correspondente aos segmentos do caminho no padrão da rota dinâmica.
Veja também: params
context.props
Seção intitulada context.props
Added in:
astro@1.5.0
context.props
é um objeto que contém quaisquer props
passadas de getStaticPaths()
. Por conta de getStaticPaths()
não ser usado ao fazer build para SSR (renderização no lado do servidor), context.props
está disponível apenas em builds estáticas.
Veja também: Passagem de dados com props
context.request
Seção intitulada context.requestTipo: Request
Um objeto Request padrão. Ele pode ser utilizado para conseguir a url
, headers
, method
e até mesmo body da requisição.
Veja também: Astro.request
context.cookies
Seção intitulada context.cookiesTipo: AstroCookies
context.cookies
contém utilitários para a leitura e manipulação de cookies.
Veja também: Astro.cookies
context.url
Seção intitulada context.urlTipo: URL
astro@1.5.0
Um objeto URL construído do valor string context.request.url
da URL atual.
Veja também: Astro.url
context.clientAddress
Seção intitulada context.clientAddressTipo: string
astro@1.5.0
Especifica o endereço de IP da requisição. Essa propriedade só está disponível ao fazer build para SSR (renderização no lado do servidor) e não deve ser utilizada para sites estáticos.
Veja também: Astro.clientAddress
context.site
Seção intitulada context.siteTipo: URL | undefined
astro@1.5.0
context.site
retorna uma URL
feita do site
na sua configuração do Astro. Se for undefined, ela irá retornar uma URL gerada a partir de localhost
.
Veja também: Astro.site
context.generator
Seção intitulada context.generatorTipo: string
astro@1.5.0
context.generator
é uma forma conveniente de indicar a versão do Astro em que seu projeto está. Ela segue o formato "Astro v1.x.x"
.
Veja também: Astro.generator
context.redirect()
Seção intitulada context.redirect()Tipo: (path: string, status?: number) => Response
astro@1.5.0
context.redirect()
retorna um objeto Response que te permite redirecionar para outra página. Essa função está disponível apenas ao fazer build para SSR (renderização no lado do servidor) e não deve ser utilizada para sites estáticos.
Veja também: Astro.redirect()
context.rewrite()
Seção intitulada context.rewrite()Tipo: (rewritePayload: string | URL | Request) => Promise<Response>
astro@4.13.0
Permite que você sirva conteúdo de uma URL ou caminho diferente sem redirecionar o navegador para uma nova página.
O método aceita uma string, uma URL
ou um Request
para a localização do caminho.
Use uma string para fornecer um caminho explícito:
Use um tipo URL
quando precisar construir o caminho da URL para o redirecionamento. O exemplo a seguir renderiza o caminho pai de uma página criando uma nova URL a partir do caminho relativo "../"
:
Use um tipo Request
para ter controle completo do Request
enviado ao servidor para o novo caminho. O exemplo a seguir envia uma solicitação para renderizar a página pai, fornecendo também cabeçalhos:
Veja também: Astro.rewrite()
context.locals
Seção intitulada context.locals
Added in:
astro@2.4.0
context.locals
é um objeto usado para armazenar e acessar informações arbitrárias durante o ciclo de vida de uma requisição.
Funções de middleware podem ler e escrever valores do context.locals
:
Endpoints de API podem ler somente informações de context.locals
:
Veja também: Astro.locals
context.getActionResult()
Seção intitulada context.getActionResult()Tipo: (action: TAction) => ActionReturnType<TAction> | undefined
astro@4.15.0
context.getActionResult()
é uma função que retorna o resultado de uma submissão de Ação (EN). Ela aceita uma função de ação como argumento (como actions.logout
) e retorna um objeto data
ou error
quando uma submissão é recebida. Caso contrário, retornará undefined
.
Veja também Astro.getActionResult()
context.callAction()
Seção intitulada context.callAction()
Added in:
astro@4.15.0
context.callAction()
é uma função usada para chamar um manipulador de Ação diretamente do seu componente Astro. Essa função aceita uma função de Ação como primeiro argumento (como actions.logout
) e qualquer entrada que essa ação receba como segundo argumento. Ela retorna o resultado da ação como uma Promise
.
Veja também Astro.callAction()
getStaticPaths()
Seção intitulada getStaticPaths()Tipo: (options: GetStaticPathsOptions) => Promise<GetStaticPathsResult> | GetStaticPathsResult
Se uma página utiliza parâmetros dinâmicos em seu nome de arquivo, tal componente precisará exportar uma função getStaticPaths()
.
Esta função é necessária pois Astro é um gerador de sites estáticos. Isso significa que o seu site inteiro é construído previamente. Se Astro não sabe como gerar uma página em tempo de build, seus usuários não o irão ver quando visitarem o seu site.
A função getStaticPaths()
deve retornar um array de objetos para determinar quais caminhos serão pré-renderizados pelo Astro.
Ela também pode ser utilizada para endpoints de arquivos estáticos para roteamento dinâmico.
Ao usar TypeScript, use a utilidade de tipo GetStaticPaths
para garantir acesso seguro de tipos de seus params
e props
.
A função getStaticPaths()
é executada em seu próprio escopo isolado unicamente, antes de qualquer página carregar. Portanto você não pode referenciar nada de seu escopo parente além de importações de arquivos. O compilador irá te avisar se você quebrar esse requisito.
params
Seção intitulada paramsA chave params
de todos os objetos retornados diz ao Astro quais rotas construir. Os parâmetros retornados devem ser mapeados de volta para os parâmetros dinâmicos e rest definidos no caminho de arquivo do seu componente.
params
são codificados na URL, então apenas strings são suportadas como valores. O valor para cada objeto params
deve corresponder aos parâmetros utilizados no nome da página.
Por exemplo, suponha que você tem uma página em src/pages/postagens/[id].astro
. Se você exportar getStaticPaths
dessa página e retornar os seguintes caminhos:
Então Astro irá estaticamente gerar postagens/1,
, postagens/2
, e postagens/3
em tempo de build.
Passagem de Dados com props
Seção intitulada Passagem de Dados com propsPara passar dados adicionais para cada página gerada, você também pode definir um valor a props
para cada objeto de caminho retornado. Diferente de params
, props
não são codificadas na URL, então não estão limitadas a apenas strings.
Por exemplo, supomos que você gera páginas baseando-se em dados buscados a partir de uma API remota. Você pode passar o objeto inteiro dos dados para o componente da página dentro de getStaticPaths
:
Você também pode passar um array normal, que pode ser útil quando for gerar ou esboçar uma lista conhecida de rotas.
Então Astro irá estaticamente gerar postagens/1
e postagens/2
em tempo de build utilizando o componente da página em pages/postagens/[id].astro
. A página pode referenciar esses dados utilizando Astro.props
:
paginate()
Seção intitulada paginate()Paginação é um caso de uso comum para websites que Astro nativamente suporta através da função paginate()
. paginate()
irá automaticamente gerar o array para retornar de getStaticPaths()
que cria uma URL para cada página da coleção paginada. O número da página será passado como um parâmetro, e os dados da página serão passados como a prop page
.
paginate()
possui os seguintes argumentos:
data
- array contendo os dados passados da página para a funçãopaginate()
options
- Objeto opcional com as seguintes propriedades:pageSize
- O número de itens mostrados por página (10
por padrão)params
- Envia parâmetros adicionais para criar rotas dinâmicasprops
- Envia props adicionais disponibilizadas em cada página
paginate()
assume um nome de arquivo [page].astro
ou [...page].astro
. O parâmetro page
torna-se o número da página em sua URL:
/posts/[page].astro
geraria as URLs/posts/1
,/posts/2
,/posts/3
, etc./posts/[...page].astro
geraria as URLs/posts
,/posts/2
,/posts/3
, etc.
A prop page
da paginação
Seção intitulada A prop page da paginaçãoTipo: Page<TData>
A paginação irá passar a prop page
para cada página renderizada que representa uma única página de dados na coleção paginada. Isso inclui dados que você paginou (page.data
) assim como metadados para a página (page.url
, page.start
, page.end
, page.total
, etc). Estes metadados são úteis para coisas como um botão de “Próxima Página” ou uma mensagem “Mostrando 1-10 de 100”.
page.data
Seção intitulada page.dataTipo: Array<TData>
Array de dados retornados pela função paginate()
para a página atual.
page.start
Seção intitulada page.startTipo: number
Índice do primeiro item na página atual, começando em 0
. (por exemplo, se pageSize: 25
, isso seria 0
na página 1, 25
na página 2, etc.)
page.end
Seção intitulada page.endTipo: number
Índice do último item na página atual.
page.size
Seção intitulada page.sizeTipo: number
Padrão: 10
Quantidade de itens por página.
page.total
Seção intitulada page.totalTipo: number
O número total de itens em todas as páginas.
page.currentPage
Seção intitulada page.currentPageTipo: number
O número da página atual, começando em 1
.
page.lastPage
Seção intitulada page.lastPageTipo: number
O número total de páginas.
page.url.current
Seção intitulada page.url.currentTipo: string
Obtém a URL da página atual (útil para URLs canônicas).
page.url.prev
Seção intitulada page.url.prevTipo: string | undefined
Obtém a URL da página anterior (será undefined
se estiver na página 1). Se um valor for definido para base
, adicione o caminho base à URL.
page.url.next
Seção intitulada page.url.nextTipo: string | undefined
Obtém a URL da próxima página (será undefined
se não houver mais páginas). Se um valor for definido para base
, adicione o caminho base à URL.
page.url.first
Seção intitulada page.url.firstTipo: string | undefined
astro@4.12.0
Obtém a URL da primeira página (será undefined
se estiver na página 1). Se um valor for definido para base
, adicione o caminho base à URL.
page.url.last
Seção intitulada page.url.lastTipo: string | undefined
astro@4.12.0
Obtém a URL da última página (será undefined
se não houver mais páginas). Se um valor for definido para base
, adicione o caminho base à URL.
import.meta
Seção intitulada import.metaTodos os módulos ESM incluem a propriedade import.meta
. Astro adiciona import.meta.env
pelo Vite.
import.meta.env.SSR
pode ser utilizado para saber quando se está renderizando no servidor. As vezes você pode querer uma lógica diferente, por exemplo, para um componente que deve ser apenas renderizado no cliente: