API 更改后 Gridsome 不刷新数据

Gridsome doesn't refresh data after changes in API

我正在从 strapi Api 中获取数据作为集合,它可以工作,但是如果我在 Strapi 中进行更改,Gridsome 中的数据不会更改,我必须重新启动 Gridsome 服务器才能获得新的信息。

在本地开发中运行 Api 和 Gridsome

我已经检查过 strapi 正在工作并且 graphql 没有获取新数据。

我的代码:

gridsome.server.js

const axios = require('axios')

api.loadSource(async actions => {
const { data } = await axios.get('http://localhost:1337/events')

const collection = actions.addCollection({
   typeName: 'Event',
   path: 'event/:id'
})

 for (const event of data) {
 collection.addNode({
 id: event.id,
 title: event.title,
 description: event.description,
 price: event.price,
 date: event.date,
 location: event.location,
 duration: event.duration,
 coverName: event.cover.hash,
 coverThumbNail: event.cover.formats.thumbnail.url,
 coverMedium: event.cover.formats.medium.url,
 coverImage: event.cover.formats.large.url,
 category: event.categories,
 path: '/events/'+event.id
 })
}
})

我的index.vue

<page-query> query { events: allEvent{ edges{ node { id title description price date location duration coverName coverThumbNail coverMedium coverImage category { id } } } } } </page-query>

 <script>
     export default {
          data: () => ({
          events: []
         }),
          mounted() {
         this.events = this.$page.events.edges
          },
         }

感谢您的宝贵时间

来自 strapi.io 上的文档 https://strapi.io/documentation/developer-docs/latest/developer-resources/content-api/integrations/gridsome.html#configure-gridsome

Gridsome is a Static Site Generator (opens new window)and will fetch your content from Strapi at build time.

基本上,这意味着 Gridsome 的 GraphQL 在构建时“填充”了来自 ​​Strapi 的数据,要获得新的 posts,您应该重新生成您的页面。

如果您不想每次添加 post 时都手动部署您的站点,您应该检查 Strapi 的 webhooks