Получайте самые последние сообщения из блога, созданного с помощью Astro, в одностраничном приложении

У меня есть одностраничное приложение, в котором я хотел бы показать самые последние сообщения из блога Astro. Предоставляет ли astro API для простого доступа к такой информации из другого приложения?

Вы можете добавить RSS-канал в свой блог и запросить его из своего приложения.

The Otterlord 11.04.2023 10:13
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
1
97
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я использовал Astro Endpoints для создания пользовательского API для своего блога.

src/pages/recent-posts.json.ts


import { MarkdownInstance } from "astro";
import { Frontmatter, sortDateDescending } from "src/misc";

export async function get() {
    const allPosts = import.meta.glob<MarkdownInstance<Frontmatter>>("./posts/article/*.md", { eager: true }); // Vite
    const posts = sortDateDescending(Object.values(allPosts))
        .filter((ele) => ele.frontmatter.draft != true)
        .map((ele) => {

            return {
                title: ele.frontmatter.title,
                url: ele.url,
                thumbnailUrl: ele.frontmatter.image,
                content: ele.rawContent(),
                publishedDate: ele.frontmatter.date,
                tags: ele.frontmatter.tags,
            };
        });
    
    const LIMIT = 2;

    return {
        body: JSON.stringify(posts.slice(0, LIMIT)),
    };
}


Теперь я могу получить самые последние сообщения с конечной точки /recent-posts.json.

Другие вопросы по теме