Référence de l'API des importations de configuration
Ajouté à la version :
astro@5.7.0
Nouveau
Ce module virtuel astro:config
expose une version non exhaustive, sérialisable et assurant la sûreté du typage de la configuration Astro. Deux sous-modules permettent d’accéder à différents sous-ensembles de vos valeurs de configuration : /client
et /server
.
Toutes les valeurs de configuration disponibles sont accessibles depuis astro:config/server
. Cependant, pour le code exécuté côté client, seules les valeurs exposées par astro:config/client
seront disponibles. Cela protège vos informations en ne rendant accessibles qu’une partie des données au client.
Importations depuis astro:config/client
Titre de la section Importations depuis astro:config/clientimport { i18n, trailingSlash, base, build, site,} from "astro:config/client";
Utilisez ce sous-module pour le code côté client :
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) { if (trailingSlash === "always") { return path.endsWith("/") ? path : path + "/" } else { return path }}
En savoir plus sur les importations de configuration disponibles à partir de astro:config/client
:
Importations depuis astro:config/server
Titre de la section Importations depuis astro:config/serverimport { i18n, trailingSlash, base, build, site, srcDirc, cacheDir, outDir, publicDir, root,} from "astro:config/client";
Ces importations incluent tout ce qui est disponible à partir de astro:config/client
ainsi que des informations sensibles supplémentaires sur la configuration de votre système de fichiers qu’il n’est pas sûr d’exposer au client.
Utilisez ce sous-module pour le code côté serveur :
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); // générer des données à partir d'une opération let data = JSON.stringify([]); writeFileSync(fileURLToPath(path), data, "utf-8"); } } }}
En savoir plus sur les importations de configuration disponibles à partir de astro:config/server
:
i18n
trailingSlash
base
build.format
build.client
build.server
build.serverEntry
build.assetsPrefix
site
srcDirc
cacheDir
outDir
publicDir
root