Гэтсби: в чем разница между базовым путем и префиксом пути? - PullRequest
2 голосов
/ 16 февраля 2020

Я не понимаю разницу между basepath и path prefix в Гэтсби , и когда использовать каждую функцию

Базовый путь: https://www.gatsbyjs.org/tutorial/part-seven/

Префикс пути: https://www.gatsbyjs.org/docs/path-prefix/

1 Ответ

0 голосов
/ 18 февраля 2020

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/.

...