Referência da API de importações de configuração
Adicionado em:
[email protected]
Novo
Este módulo virtual astro:config
expõe uma versão não exaustiva, serializável e tipada da configuração do Astro. Existem dois submódulos para acessar diferentes subconjuntos dos seus valores de configuração: /client
e /server
.
Todos os valores de configuração disponíveis podem ser acessados a partir de astro:config/server
. No entanto, para código executado no cliente, apenas os valores expostos por astro:config/client
estarão disponíveis. Isso protege suas informações, disponibilizando apenas alguns dados para o cliente.
Importando de astro:config/client
Seção intitulada Importando de astro:config/clientimport { i18n, trailingSlash, base, build, site,} from "astro:config/client";
Utilize este submódulo para código do lado do cliente:
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) { if (trailingSlash === "always") { return path.endsWith("/") ? path : path + "/" } else { return path }}
Veja mais sobre as configurações de importação disponíveis em astro:config/client
:
Importando de astro:config/server
Seção intitulada Importando de astro:config/serverimport { i18n, trailingSlash, base, build, site, srcDir, cacheDir, outDir, publicDir, root,} from "astro:config/server";
Essas importações incluem tudo que está disponível em astro:config/client
, além de informações adicionais e sensíveis sobre a configuração do sistema de arquivos, que não são seguras para expor ao cliente.
Utilize este submódulo para código do lado do servidor:
import { integration } from "./integration.mjs";
export default defineConfig({ integrations: [ integration(), ]});
import { outDir } from "astro:config/server";import { writeFileSync } from "node:fs";import { fileURLToPath } from "node:url";
export default function() { return { name: "internal-integration", hooks: { "astro:build:done": () => { let file = new URL("result.json", outDir); // gerar dados a partir de alguma operação let data = JSON.stringify([]); writeFileSync(fileURLToPath(path), data, "utf-8"); } } }}
Veja mais sobre as configurações de importação disponíveis em astro:config/server
:
i18n
trailingSlash
base
build.format
build.client
build.server
build.serverEntry
build.assetsPrefix
site
srcDir
cacheDir
outDir
publicDir
root