При попытке развернуть мой проект Astro с помощью сборки pnpm я столкнулся с кодом ошибки:
[NoAdapterInstalled] Невозможно использовать вывод: «сервер» или вывод: «гибрид» без адаптера. Установите и настройте соответствующий серверный адаптер для окончательного развертывания.
Проект Astro настроен на производственную сборку типа «гибрид», поскольку мне нужно выполнять вызовы API, находящиеся на одном сервере. Просматривая список возможных адаптеров на официальном сайте Astro, кажется, что для Apache нет варианта. Есть ли способ обойти установку серверного адаптера? Или мне нужно установить адаптер из списка?
Я попробовал установить адаптеры Deno и Netlify, а затем поместил содержимое папки dist/ в корень вашего сервера в /var/www/astro.site/, но сайт по-прежнему не вижу.
Вы не можете. Astro написан на JavaScript, а не на PHP. Это означает, что вам понадобится какая-то среда выполнения JavaScript, например Node.js, или вариант размещения .
так как мне нужно совершать вызовы API
Можете ли вы сделать это во время сборки? Если да, то вы все равно сможете создавать статические сайты вместо режимов hybrid
или server
.
Не уверен, что понимаю ваш дополнительный вопрос. Если вы не можете использовать генерацию статического сайта, см. docs.astro.build/en/guides/server-side-rendering Но я считаю, что на ваш первоначальный вопрос «могу ли я развернуть проект Astro на Apache» получен ответ? Если да, примите ответ, нажав на большую зеленую галочку.
К сожалению, мне нужно использовать выборку для доступа к постоянно обновляющейся базе данных, поэтому создание проекта в статическом режиме не является вариантом. Поскольку это единственное, для чего я использую гибридный режим, есть ли возможность изменить компонент, чтобы код JavaScript запускался при каждой его загрузке? Если бы я мог использовать выборку, этого было бы достаточно.