Svelte 中 RSS 的数据导入问题

问题描述 投票:0回答:1

这里是新手,尝试展示我的博客,并设法在 page.server.js 上的 VS 代码终端中获取 RSS 提要,但不知道如何使用它。

这是代码:在 data.js 中


import fetch from 'node-fetch';
import { parseStringPromise } from 'xml2js';

export async function fetchRSSFeed(url) {
    const response = await fetch(url);
    const rssText = await response.text();
    const parsedResult = await parseStringPromise(rssText);
    const items = parsedResult.rss.channel[0].item;
    return items.map(item => ({
        title: item.title[0],
        link: item.link[0]
    }));
}

在+page.server.js中

import { fetchRSSFeed } from './data.js';

export async function load() {
        const rssFeedUrl = 'myBlog';
        const articles = await fetchRSSFeed(rssFeedUrl);
        console.log(articles);

    return {
        props: {
            articles

        }
    };

}

这是+page.svelte

    <script>
        export let articles = [];
        console.log("Why are there no articles???", articles);
      </script>

      <div id="container">
        <div class="about">
          <p>thoughts available on substack</p>
        </div>
        <section>
      <h2>recent posts</h2>
      <hr />
      <div class="posts">
        {#each articles as { title, link }}
          <a href={link} target="_blank">
            <div class="post">
              <h3>{title}</h3>
            </div>
          </a>
        {/each}
      </div>
    </section>
  </div>    

预先感谢,大爱x

我想在 Svelte 中制作 RSS feed,我尝试添加 data.js 作为额外的路由

svelte sveltekit svelte-component
1个回答
0
投票

这不是数据加载的工作原理。
返回的对象总是传递给一个名为

data
的属性,没有
props

return { articles };
export let data; // data.articles
© www.soinside.com 2019 - 2024. All rights reserved.