Программный API Astro (экспериментально)
Если вам нужен полный контроль при запуске Astro, пакет "astro" экспортирует API для программного вызова команд CLI.
Эти API являются экспериментальными, и их сигнатура может измениться. Актуальную информацию всегда можно найти в чейнджлоге проекта.
AstroInlineConfig
Заголовок раздела «AstroInlineConfig»Тип AstroInlineConfig используется всеми программными методами. Он расширяет стандартный тип конфигурации Astro:
interface AstroInlineConfig extends AstroUserConfig { configFile?: string | false; mode?: string; logLevel?: "debug" | "info" | "warn" | "error" | "silent";}configFile
Заголовок раздела «configFile»Путь к файлу конфигурации. По умолчанию Astro ищет файл в корне проекта. Установите false, чтобы не загружать никакие файлы конфигурации.
Режим сборки или разработки (например, "production", "testing"). Это влияет на загрузку .env файлов.
logLevel
Заголовок раздела «logLevel»Уровень логирования сообщений Astro.
Запускает сервер разработки Astro. Аналог команды astro dev.
import { dev } from "astro";
const devServer = await dev({ root: "./my-project",});
// Остановка сервераawait devServer.stop();build()
Заголовок раздела «build()»Собирает сайт для развертывания. Аналог команды astro build.
import { build } from "astro";
await build({ root: "./my-project",});preview()
Заголовок раздела «preview()»Запускает локальный сервер для предварительного просмотра сборки. Аналог команды astro preview.
import { preview } from "astro";
const previewServer = await preview({ root: "./my-project",});
await previewServer.stop();Генерирует типы TypeScript для всех модулей Astro. Аналог команды astro sync.
import { sync } from "astro";
await sync({ root: "./my-project",});mergeConfig()
Заголовок раздела «mergeConfig()»Вспомогательная функция для объединения двух конфигураций Astro. Массивы объединяются, объекты мерджатся рекурсивно.
import { mergeConfig } from "astro/config";
const finalConfig = mergeConfig(baseConfig, overrides);