Pular para o conteúdo

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.

import {
i18n,
trailingSlash,
base,
build,
site,
} from "astro:config/client";

Utilize este submódulo para código do lado do cliente:

src/utils.js
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:

import {
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:

astro.config.mjs
import { integration } from "./integration.mjs";
export default defineConfig({
integrations: [
integration(),
]
});
integration.mjs
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:

Contribua Comunidade Sponsor
OSZAR »