Перейти к содержимому

Программный API Astro (экспериментально)

Если вам нужен полный контроль при запуске Astro, пакет "astro" экспортирует API для программного вызова команд CLI.

Эти API являются экспериментальными, и их сигнатура может измениться. Актуальную информацию всегда можно найти в чейнджлоге проекта.

Тип AstroInlineConfig используется всеми программными методами. Он расширяет стандартный тип конфигурации Astro:

interface AstroInlineConfig extends AstroUserConfig {
configFile?: string | false;
mode?: string;
logLevel?: "debug" | "info" | "warn" | "error" | "silent";
}

Путь к файлу конфигурации. По умолчанию Astro ищет файл в корне проекта. Установите false, чтобы не загружать никакие файлы конфигурации.

Режим сборки или разработки (например, "production", "testing"). Это влияет на загрузку .env файлов.

Уровень логирования сообщений Astro.

Запускает сервер разработки Astro. Аналог команды astro dev.

import { dev } from "astro";
const devServer = await dev({
root: "./my-project",
});
// Остановка сервера
await devServer.stop();

Собирает сайт для развертывания. Аналог команды astro build.

import { build } from "astro";
await build({
root: "./my-project",
});

Запускает локальный сервер для предварительного просмотра сборки. Аналог команды 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",
});

Вспомогательная функция для объединения двух конфигураций Astro. Массивы объединяются, объекты мерджатся рекурсивно.

import { mergeConfig } from "astro/config";
const finalConfig = mergeConfig(baseConfig, overrides);