Nuxt3使用rss

Nuxt3使用rss

徐徐
前端
发布于2024-08-24 16:22:28
🌺前言
nuxt3使用rss订阅

1.下载依赖

bash
npm i rss 

2.在server/routes 定义rss.xml.ts

typescript
// server/routes/rss.ts

import RSS from 'rss';

export default defineEventHandler(async (event) => {
//用try-catch块包住所有东西
  try {
    //从dev.to获取数据
    const response = await fetch(
      'https://www.example.com/rss'
    );
    // 如果响应不正常,则抛出错误
    if (!response.ok) {
      throw new Error(response?.status.toString());
    }
    /*
        等待响应.json()

        将结果分配给帖子
        */
    const {data: posts} = await response.json();
    // 创建新的rss 这将是我们的新的page,带有网站标题和url
    const feed = new RSS({
      title: '',
      site_url: 'https://www.example.com', // 链接到 website/blog
      feed_url: `https://www.example.com/rss.xml`, // 链接到 rss feed
    });
    // loop over each posts
    for (const post of posts) {
      // 用正确的数据为rss feed添加项目标签
      feed.item({
        title: post.title, 
        url: `https://www.example.com/post/${post.id}`, // 文章所在的完整路径

        date: post.updateTime, //帖子创建日期
        categories: ['类别1'],
        description: '一些描述'
      });
    }
    const feedString = feed.xml({ indent: true }); //这将返回XML作为一个字符串。
    event.node.res.setHeader('content-type', 'text/xml');
    event.node.res.end(feedString); // 发送
  } catch (e) {
    // return an error
    return e;
  }
});

3.生成地址

bash
https://www.example.com/rss.xml

4.可以将生成地址放在页面上,链接上

目录

文章最后更新于 2024-08-30 16:30:36
留言
暂无数据

~~空空如也