Справочник API импорта конфигурации
Добавлено в: astro@5.7.0
Этот виртуальный модуль astro:config предоставляет неполную, сериализуемую, типобезопасную версию конфигурации Astro. Существует два подмодуля для доступа к различным подмножествам значений вашей конфигурации: /client и /server.
Все доступные значения конфигурации могут быть получены из astro:config/server. Однако для кода, выполняемого на клиенте, будут доступны только те значения, которые открыты через astro:config/client. Это защищает вашу информацию, делая доступными для клиента только определенные данные.
Импорт из astro:config/client
Заголовок раздела «Импорт из astro:config/client»import { i18n, trailingSlash, base, build, site, compressHTML,} from "astro:config/client";Используйте этот подмодуль для клиентского кода:
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) { if (trailingSlash === "always") { return path.endsWith("/") ? path : path + "/" } else { return path }}Узнайте больше об импорте конфигурации, доступном из astro:config/client:
Импорт из astro:config/server
Заголовок раздела «Импорт из astro:config/server»import { i18n, trailingSlash, base, build, site, srcDir, cacheDir, outDir, publicDir, root, compressHTML,} from "astro:config/server";Этот импорт включает все, что доступно из astro:config/client, а также дополнительную конфиденциальную информацию о конфигурации вашей файловой системы, которую небезопасно раскрывать клиенту.
Используйте этот подмодуль для серверного кода:
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); // генерируем данные из какой-либо операции let data = JSON.stringify([]); writeFileSync(fileURLToPath(file), data, "utf-8"); } } }}Узнайте больше об импорте конфигурации, доступном из astro:config/server:
i18ntrailingSlashbasebuild.formatbuild.clientbuild.serversitesrcDircacheDiroutDirpublicDirrootcompressHTML