TL: DR
pathPrefix
оказывает гораздо большее влияние на ваш сайт - он добавляет префикс к сгенерированному URL всех ваших страниц и ресурсов. basePath
- это всего лишь помощник для генерации слагов из вашей файловой системы. По опыту работы с Gatsby я вообще редко его использую.
pathPrefix
Добавляет префикс к URL-адресу всех ваши страницы и активы. Таким образом, вы можете развернуть сайт Gatsby как подкаталог другого сайта.
Without Prefix | With 'blog' Prefix
---------------------------|--------------------------------
myblog.com/ | myblog.com/blog
myblog.com/hello/ | myblog.com/blog/hello
myblog.com/image-123.png | myblog.com/blog/image-123.png
basePath
Это опция createFilePath
, которая помогает вам создавать слаг из вашего проекта. структура. Это не влияет на то, обслуживаете ли вы свой Gatsby с root или нет.
Если каталог вашего проекта выглядит следующим образом:
<root>
|--content
| |--writing
| | `--page1.md
| `--images
| `--cat.md
|
|--gatsby-config.js
...
И вы задаете это в своем gatsby- config. js
module.exports = {
plugins: [
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/content`,
name: 'content'
}
}
]
}
Тогда createFilePath
вернет этот слаг для вашего файла: writing/page1/
, что, возможно, не то, что вы хотите. Может быть, вы хотите, чтобы это было /page1/
. В этом случае установка basePath
на writing
вернет /page1/
.