WordPress网站默认有一个API。想看看这个网站最近的帖子,只有一组特定的数据......以JSON格式?给你。Alex Riviere用这个做了一个笑话网站。
起初,该网站在加载时,会从该API的客户端fetch 。很好,但如果我们认真对待的话,这对访问网站的人来说是非常低效的(即比服务器渲染的HTML慢),对API的点击也不太有效。所以,Alex用Netlify函数重新编写了它。然后Netlify函数将从API中fetch (在云中节点),并提供预先渲染的HTML。这可能会好一点,但正如Alex所说。
这实际上给我们带来了一个新的问题,即每次有人来到网站时,该功能都会在MY Dime上运行。
Netlify功能的免费级别是每月125,000个请求,这对这样一个小网站来说应该是足够了,但仍然如Alex所说,他 "宁愿不成为互联网流行的受害者"。
时机很好,因为Netlify刚刚发布了按需构建器,这使得缓存像这样的结果相当容易。这就像创建任何其他函数一样,除了签名看起来像这样:
const { builder } = require("@netlify/functions")
async function myfunction(event, context) {
// logic to generate the required content
}
exports.handler = builder(myfunction);
我喜欢Andrew在我们的ShopTalkD-D-Discord中所说的--这个概念广泛适用于一般的API使用。