GatsbyJS错误地呈现了URL

我的页面在“页面”文件夹中,使用小写字母命名,如下所示:

pages
├── 404.js
├── faq.js
├── service
│   ├── service1.js
│   └── service2.js
└── services.js

Gatsby应该给他们提供与此小写名称相关的URL(例如,/ services for pages / services.js),并且它可以在开发模式下工作,但是在部署模式下(使用netlify),它不会呈现页面,也不会重新加载更改以大写字母开头的网址(例如/ Services),然后加载。

最奇怪的是,某些页面可以正常工作(例如/ faq,它是services.js的完全重复,只是功能名称有所更改,而其他页面则没有。

services.js代码:

import React from "react"
...
function Services() {
  return (...)
}

export default Services

和faq.js代码:

import React from "react"
...
function Faq() {
  return (...)
}

export default Faq

两个文件中的所有...都相同。

所有页面通过盖茨比链接进行链接:

import { Link } from "gatsby"

看起来像这样:

...
<div className="footer-column">
    <div className="footer-header">For clients</div>
    <Link to="/services/" className="footer-item"> // Problem one
      Our services
    </Link>
    <Link to="/faq/" className="footer-item"> // Working fine
      Frequently asked questions
    </Link>
</div>
...

我尝试在元数据中设置siteUrl,但这没有帮助。

我该如何解决此问题?

回答如下:

[看不到任何实际代码,链接到Gatsby中的页面的最简单方法(以我的观点是:]

import Link from 'gatsby-link'

然后:

<Link to="/the-path-you-want-to-link-to">
  your link text
</Link>

只要您在siteUrl文件中配置了gatsby-config.js,您的链接路径就会被附加到该文件中,并且链接应该可以使用。您也可以始终使用<a>标签对其进行硬编码。

很难说更多而没有看到任何代码示例。