【问题标题】:Can you generate a static site with nuxt fetching data from strapi during build time? I am having issues您可以在构建期间使用 nuxt 从strapi 获取数据生成一个静态站点吗?我有问题
【发布时间】:2021-08-26 02:24:47
【问题描述】:

我对 nuxt 和 Strapi 都是新手,所以我不确定自己错过了什么。

我正在尝试创建一个完全静态的站点,该站点使所有 api 调用到我的 localhoststrapi 服务器以在构建期间获取数据。不幸的是,每次我运行 nuxt generate 并尝试托管 /dist 文件的内容时,该站点都会向客户端的 api 发出实时获取请求,这会在不在我的本地计算机上时破坏该站点。

在我的 nuxt.config.js 中,我有我的目标:“静态”,这是我认为我必须做的,但我可能不正确。我想知道我是否需要托管我的 api 才能完成这项工作,但我真的不想这样做。

我一直在使用 fetch 来获取我的数据。

有没有人知道我可能做错了什么?非常感谢您提供有关此主题的任何帮助。

编辑:

我想知道我的设置是否有问题,所以我创建了一个带有测试内容的新 nuxt 和 Strapi 设置,并发现了同样的问题。我现在想知道我是否不应该在我的页面组件中使用 fetch 而应该使用 asyncData ?文档肯定说 fetch 应该没问题,所以我试图弄清楚发生了什么。

进一步编辑:

不固定,但我认为朝着正确的方向前进。看来我应该在 nuxt.config.js 的 generate 变量中设置 routes 变量,以便构建我的动态页面。但是,我仍然无法查看每个产品的所有图像...即将尝试使用 require() 和模板中的图像标签。

【问题讨论】:

  • 您是想在 Netlify(或类似软件)上构建您的应用程序,还是希望始终在本地构建您的应用程序,然后手动推送 /dist 目录?
  • 内容很少改变,所以我希望在本地构建我的应用程序,然后手动推送 /dist 来托管它

标签: nuxt.js strapi


【解决方案1】:

fetch() 完全可以获取内容,因为它可以在服务器端和客户端运行。如果您确实使用 Nuxt 的动态路由,它应该会正确生成它。至于图像,我不确定(还没有尝试过),但这也完全可以在构建期间完成。
据我所知,您无需转到nuxt.config.js 即可生成页面。

上次我使用 Strapi 时,我尝试运行本文中链接的启动器,它运行良好:https://strapi.io/blog/build-a-blog-using-nuxt-strapi-and-apollo

在您构建时,如果您打算在本地构建它,那么之后托管它完全没问题。快速yarn start 可以确认您的项目运行良好。
同时,您需要 100% 确定您不打算再次使用您的 Strapi 项目进行进一步(客户端)获取。默认情况下 IMO 应该没问题。

【讨论】:

  • 谢谢!很高兴知道至少我想做的事情应该有效。据我所知,只有在我生成网站时没有出现的图像。其余的 api 数据都很好。我将查看与 apollo 的链接,看看是否可以在那里找到使其工作的东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2019-01-05
  • 2019-06-23
  • 2022-11-10
  • 2022-01-26
  • 2022-12-05
  • 1970-01-01
相关资源
最近更新 更多