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, srcDir, cacheDir, outDir, publicDir, root,} from "astro:config/server";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 :
i18ntrailingSlashbasebuild.formatbuild.clientbuild.serverbuild.serverEntrybuild.assetsPrefixsitesrcDircacheDiroutDirpublicDirroot