2022/12/24
Tag : astro
Astroの設定を見直す。ドキュメントはちゃんと読みましょう
アドベントカレンダーのネタがてら Astro を先日触ってみた。
雑にやり過ぎてて明らかに無駄だったのを修正してみた。
とりあえず詳細ページの取得部分だけ。
export async function getStaticPaths(){
const response = await fetch("https://example.com/api",
{
method:'POST',
headers: {
'Content-Type':'application/json',
'Authorization': 'hogehoge',
},
body: JSON.stringify({
query: `
query {
entries(limit:3000,section:"article",siteId:1,typeId:1){
title
id
url
uri
slug
postDate @formatDateTime(format: "Y-m-d")
... on article_article_Entry {
id
contentTag{
title
id
}
〜〜略〜〜
}
}
}`,
}),
})
const json = await response.json();
const entries = json.data.entries
return entries.map((entry) => ({
params: {
slug: entry.slug,
},
props: {
title : entry.title,
articlebody: entry.articlebody,
postDate : entry.postDate
},
}));
}
const { slug } = Astro.params;
const { title, articlebody, postDate } = Astro.props;
詳細ページの設定変更後が72秒くらい。 元々が 438.96s。
再度ビルドしても36秒くらい。
詳細ページのビルドはかなり早そう。
07:07:57 AM [build] 2911 page(s) built in 36.85s
タグアーカイブが時間かかってそう。
タグをリストで取って、そっから対象の記事を取りに行くっていうのの繰り返しだからだとはおもうけど。
ビルド済みを消しても70秒くらい。
02:17:31 PM [build] 2913 page(s) built in 70.82s
その状態で再ビルドで 35秒くらい
02:28:55 PM [build] 2913 page(s) built in 35.52s