Aller au contenu

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.

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

Utilisez ce sous-module pour le code côté client :

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

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

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);
// 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 :

Contribuer Communauté Parrainer