可以通过使用 Astro 的数据获取功能和渲染器来实现此目的。假设我们使用 fetch 方法从 API 拉取数据,然后使用 Astro 渲染器将数据插入到模板中来生成页面。
在 Astro 项目中,我们可以在项目根目录下的 .astro 中定义一个页面模板,并使用数据挂钩从 API 中获取数据。例如:
---
title: "My Dynamic Page"
data: async () => {
const response = await fetch('https://my-api.com/data');
const data = await response.json();
return { data };
}
---
{{ title }}
{{#each data}}
- {{ name }} - {{ description }}
{{/each}}
该模板使用 async 数据挂钩来从 API 中获取数据并将其存储在 data 变量中。然后,我们可以在模板中通过 Mustache 语法使用 {{#each}} 来迭代数据数组并构建页面。
然后,我们可以通过运行 Astro 项目来构建和呈现动态页面。在 package.json 中添加以下脚本:
"scripts": {
"start": "astro",
"build": "astro build"
}
最后,可以通过运行 npm start
命令来启动 Astro 项目并在 localhost 上查看动态页面。