Referencia de la API de importaciones de configuración
Agregado en:
astro@5.7.0
Nuevo
Este módulo virtual astro:config
expone una versión serializable, tipada y no exhaustiva de la configuración de Astro. Hay dos submódulos para acceder a diferentes subconjuntos de tus valores de configuración: /client
y /server
.
Todos los valores de configuración disponibles pueden accederse desde astro:config/server
. Sin embargo, para el código ejecutado en el cliente, solo estarán disponibles aquellos valores expuestos por astro:config/client
. Esto protege tu información haciendo que solo algunos datos estén disponibles en el cliente.
Importaciones desde astro:config/client
Sección titulada Importaciones desde astro:config/clientimport { i18n, trailingSlash, base, build, site,} from "astro:config/client";
Usa este submódulo para código del lado del cliente:
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) { if (trailingSlash === "always") { return path.endsWith("/") ? path : path + "/"; } else { return path; }}
Consulta más sobre las importaciones de configuración disponibles desde astro:config/client
:
Importaciones desde astro:config/server
Sección titulada Importaciones desde astro:config/serverimport { i18n, trailingSlash, base, build, site, srcDir, cacheDir, outDir, publicDir, root,} from "astro:config/client";
Estas importaciones incluyen todo lo disponible desde astro:config/client
así como información adicional sensible sobre la configuración de tu sistema de archivos que no es seguro exponer al cliente.
Usa este submódulo para código del lado del 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); // generar datos de alguna operación let data = JSON.stringify([]); writeFileSync(fileURLToPath(path), data, "utf-8"); }, }, };}
Consulta más sobre las importaciones de configuración disponibles desde astro:config/server
:
i18n
trailingSlash
base
build.format
build.client
build.server
build.serverEntry
build.assetsPrefix
site
srcDir
cacheDir
outDir
publicDir
root