记录一下部署RSS文章聚合页面踩过的坑

1024 字
5 分钟
记录一下部署RSS文章聚合页面踩过的坑

💻前言#

最近逛了很多博客发现他们都给博客加入了朋友圈,添加一些其他博客的订阅源集合到自己的博客上,我也想给自己添加一个,但我不会编程,借助了ai成功给自己添加上了朋友圈

生成雏形#

刚开始我想像添加我的博客说说功能那样把文章聚合页面内置到博客里面,但问了一下ai担心对博客以后的收录有影响,最后决定在EO重新构建一个新项目做一个单独的网页,最后在博客导航添加一个跳转链接好了,给ai喂初步的指令,创建一个RSS文章聚合的网页

增删改查#

昨晚先让ai去掉了一些我不要的功能,增加想要的页面特效,自己再增删改查,加上LOGO,通过数组添加订阅源链接来展示文章,一开始的想法是通过第三方的api接口rss2json.com来获取订阅源的文章,并且测试了一下没有任何问题,本来到这就已经结束了,今天发现rss2json的接口请求的速度并不是很快,浏览器清除缓存之后获取文章有时候甚至要等两三秒,这样太影响访客的体验了,于是让ai另外给我想了一个方案

通过边缘函数来抓取订阅源#

ai解释的边缘函数原理:

sequenceDiagram participant Browser (你的网页) participant EdgeOne 边缘节点 (部署函数) participant RSS 源服务器 (各个博客) Browser->>EdgeOne 边缘节点: POST /api/rss (带着源列表) EdgeOne 边缘节点->>EdgeOne 边缘节点: 执行 onRequest 函数 loop 并行抓取 EdgeOne 边缘节点->>RSS 源服务器: fetch(feed.url) RSS 源服务器-->>EdgeOne 边缘节点: 返回 XML/RSS 内容 EdgeOne 边缘节点->>EdgeOne 边缘节点: 解析 XML,提取标题、链接等 end EdgeOne 边缘节点-->>Browser: 返回统一格式的 JSON 文章列表

EO创建的项目支持添加边缘函数,所以让ai给我改成用EO获取订阅源,并删掉旧的第三方获取订阅源的功能,其它的不变

踩坑
期间ai提供的内容有些部分已经过时了,它跟我说EO控制台左侧有边缘函数功能,我愣是找了半天没找到,最后发现新版的EO控制台把边缘函数功能放在了EdgeOne Makers的项目里面,让我创建一个functions/api文件夹放入js文件,全程原原本本照着操作,但就是获取不到POST请求,一直404,研究了一上午,感觉问题应该是出在了EO的配置上,认认真真看完了EO提供的添加边缘函数的方法,原来!是ai提供的文件夹名字不对,导致EO一直都没有识别构建到这个边缘函数,真正的方法是在项目的 ./edge-functions/api 目录下放入js文件

到了这一步我开心地改完了之后提交给EO重新构建,还是不行,到这里已经准备打算放弃了,我给ai发了最后一个指令:“你提供的JS文件代码有问题,我用EO的示例里提交的示例代码它成功识别了”,然后我把示例代码发了过去,终于!!!ai:“找到根本原因了!EdgeOne Makers 的边缘函数只识别 onRequest 这个导出名,而不是通用的 handler。你的代码使用了 export default async function handler(request),所以平台认不出它是一个函数”,真没招了😭
它给我提供了改好的新代码,重新构建了一次,成功获取到订阅源了

最后我想让函数每次只获取每个订阅源最新的三篇文章展示在页面,添加代码:

const topItems = items.slice(0, 3);

欢迎大家和我交换友链,添加朋友圈,感兴趣的朋友可以去我的朋友圈看看哦

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
记录一下部署RSS文章聚合页面踩过的坑
https://blog.weasel6.cn/posts/rss-feed/
作者
小黄
发布于
2026-07-08
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
小黄
Hello, I'm 小黄.
公告
欢迎来到我的博客!本站不定期更新一些乱七八糟的内容🤪
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
11
分类
4
标签
16
总字数
15,802
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne
博客版本
Firefly v6.13.3
文章许可
CC BY-NC-SA 4.0

文章目录