Vue 3 SPA中快速配置Open Graph元标签图片的方案咨询
问题:Vue 3 SPA部署在AWS Amplify,NFT详情页社交分享需显示对应图片
我有一个基于Vite构建的VueJS 3单页应用,仅部署在AWS Amplify前端环境中。该应用涉及NFT,要求分享NFT详情页链接(格式为{baseURL}/nft/{UUID_OF_NFT})至Facebook、Instagram、Twitter等社交平台时,能显示对应NFT的图片。我们在另一个仓库、不同域名下有一个独立的Express API,会在Vue应用中被调用。
已调研的解决方案及现状
- 方案1:使用Nuxt.js等SSR框架完全重写
路由是最大障碍。尝试过vue-ssr的Vite模板,但部分依赖不兼容SSR,本地无法运行。虽可尝试通过标记仅客户端依赖推进,但尚未深入。 - 方案2:每次部署前进行预渲染
因NFT详情页为动态URL格式,且平台支持创建新NFT,该方案看起来不符合需求,尚未认真尝试。 - 方案3:通过Lambda@Edge函数处理爬虫请求
思路是判断请求是否来自爬虫/机器人,若是则调用数据库返回包含正确元标签的HTML,否则正常渲染SPA。但尝试通过CLI拉取Amplify项目时,因无关联后端环境失败;添加Lambda@Edge函数似乎需要后端环境,暂未落地。
需求
想了解是否有更快捷的方案,或现有方案中哪个更可行、简单,优先选择工作量最小的选项。
内容的提问来源于stack exchange,提问作者Christopher Foley
相关产品推荐
相关产品推荐

