3

刚开始使用 Nuxt,到目前为止我很喜欢它。我只有一个具体问题,我正在使用 prismic.io 作为我个人页面的无头 CMS。我有几页和一个“博客”页面。导航到博客路由时遇到问题,它返回找不到页面。现在,这有点奇怪,因为它在我的本地主机上运行良好,在部署时它只是表现得那样。

站点正在 Netlify 上部署。

我已经尝试切换路线的链接并在我的本地机器上构建项目,它的工作就像魅力一样。

网站链接: https ://wonderful-gates-27a024.netlify.com/

这是我的页面文件结构:

Pages/
-- blog/
---- _uid.vue
-- About.vue
-- Blog.vue
-- Contact.vue
-- Works.vue
-- index.vue

复制问题的步骤

  • 导航到关于
  • 导航到联系人
  • 导航到博客(有时此步骤会显示错误)
  • 点击一篇文章
  • 导航回博客(此处应显示未找到)

出现错误后导航回博客的步骤:

我收到页面未找到错误

4

3 回答 3

1

我们刚刚发生了这个错误,它是由在 MacOS 机器上重命名About.vue为引起的。about.vue

Git 不会将其识别为新文件,因此当您在 Linux 机器上部署应用程序时,就会出现问题。

解决方案是从 Linux 机器重命名文件,以便 git 识别它。

您也可以通过将文件从Blog.vuetonew-blog.vue重命名,然后再次将其重命名为blog.vue.

这都是由于文件在 MacOS 上不区分大小写但它们在 linux 上的事实引起的。你会在你拥有的地方看到它:

<NuxtLink :to="{ name: 'blog' }">

它必须是 blog.vue 才能匹配路由名称,因为文件名导致路由名称。在 Linux 上,爬虫将命名路由"Blog",如果它是Blog.vue.

您不希望使用 nuxt 的大写文件名,因为它们会导致诸如/Blog. 我不建议在您的页面目录中使用大写字母。

于 2021-07-28T18:12:49.060 回答
1

它有时会起作用,因为您正在导航到

https://wonderful-gates-27a024.netlify.com/blog/

有什么不同

https://wonderful-gates-27a024.netlify.com/blog

页面是/blog

https://wonderful-gates-27a024.netlify.com/blog

页面不存在

 https://wonderful-gates-27a024.netlify.com/blog/

存在。这是/blog/_uid

所以如果你想让它工作

Pages/
-- blog/
---- _uid.vue
---- index.vue// make this file and the /blog will work
-- About.vue
-- Blog.vue
-- Contact.vue
-- Works.vue
-- index.vue
于 2019-05-31T06:40:53.357 回答
0

我们现在发布了更新的 nuxt-prismic 模块来解决这个动态路由问题并启用预览。您可以按照这篇文章了解如何迁移您的项目: https ://prismic.io/docs/vuejs/getting-started/the-new-prismic-nuxt-module

您还可以在此处看到已启用该模块的项目: https ://user-guides.prismic.io/en/articles/2831943-nuxt-js-sample-multi-page-website-with-navigation

于 2020-03-13T14:52:08.657 回答