Ir al contenido

Referencia de la API de importaciones de configuración

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

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

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

Contribuir Comunidad Patrocinador