我正在使用 SvelteKit 构建一个静态网站,其中包含用于服务器渲染的静态适配器。我注意到在生成的 HTML 文件中,有一个脚本可以获取页面中已包含的相同数据。例如,如果我有一个列出博客文章的页面,并且我在服务器端加载函数中获取帖子数据,SvelteKit 仍然包含一个脚本来在渲染 HTML 时获取相同的数据。
在我的 +page.ts 文件中,我正在执行以下操作:
import type { Post } from '$lib/types';
export async function load({ fetch }) {
const response = await fetch('../api/posts');
const posts: Post[] = await response.json();
return { posts };
}
export const prerender = true;
我对这个冗余脚本的用途感到困惑,以及对于所有数据都预渲染的静态站点是否有必要。有没有办法配置 SvelteKit 或静态适配器来防止此冗余数据获取脚本包含在 HTML 输出中?
<script type="application/json" data-sveltekit-fetched data-url="/api/posts">
{"status:200, ... all the data ...
</script>
任何有关如何解决此问题的见解或建议将不胜感激。预先感谢!