分享一个很少有人讨论的 Next.js + Vercel 的小知识
今天的主角是 <Link/> 组件,场景是
nexty.dev 的页面切换。
刚开始用Next.js的时候,我把 <Link/> 替代 <a> 标签使用。
后来,网站页面多了,发现 Vercel 额度「Edge Requests」这一项爆炸了,然后就加上属性 `prefetch={false}`,或者干脆使用 <a> 标签。因为确实有效果,以致于后来都有路径依赖了,几乎所有跳转我都这么处理。
这两天,发布了
nexty.dev,无论怎么测试都觉得页面跳转很慢。
刚开始怀疑是网络问题,今天尝试在 Dokploy 部署了一版,发现速度比 Vercel 部署的要快很多。
这时候我才想起来是 `prefetch` 的问题,把几个重要的页面跳转改成 `prefetch={true}`,这下打开速度变快了,甚至可以秒开。
总结下来,<Link/> 标签应该这么用:
- 重要且用户会频繁访问的页面,设置 `prefetch={true}`(默认行为)
- 不重要、用户访问频率低的页面,设置 `prefetch={false}`
- 页面很多的模块(例如:博客),建议设置 `prefetch={false}`,这样比较经济
【广告时间】
「Nexty」是一个内置了 AI 调用、登录、支付(含一次性支付和订阅)、仪表盘等重要功能模块的 Next.js SaaS 全栈模板。
这些功能模块均有完整流程,真正的开箱即用。购买前可以来 Roadmap 看看有哪些功能👉
nexty.dev/roadmap
因为文档和 CMS 模块还在开发,所以低调宣传,早鸟优惠只要$68(优惠码:EarlyBird)。购买后永久更新,价值会越来越高。
遇到任何问题可以找我微信「bigye_chengpu」解决。