Gatsby :基本路径和路径前缀有什么区别?

标签 gatsby jamstack

我不明白 basepath 之间的区别和 path prefix Gatsby ,以及何时使用每个功能

基本路径:https://www.gatsbyjs.org/tutorial/part-seven/

路径前缀:https://www.gatsbyjs.org/docs/path-prefix/

最佳答案

电话:DR
pathPrefix对您的网站有更大的影响——它为所有页面和 Assets 的生成 url 添加前缀。 basePath只是从你的文件系统生成 slug 的一个助手——根据我对 Gatsby 的经验,我很少使用它。

路径前缀

它将前缀附加到您所有页面和 Assets 的 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

基本路径

这是 createFilePath 的一个选项这有助于您从项目结构中创建 slug。它不会影响您是否从 root 为 Gatsby 提供服务。

如果你的项目目录是这样的:
<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将为您的文件返回此 slug:writing/page1/ ,这可能不是您想要的。也许你希望它是 /page1/ .在这种情况下,设置 basePathwriting将返回 /page1/ .

关于 Gatsby :基本路径和路径前缀有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60245845/

相关文章:

django - 来自 npm-run-build 前端的 Django 中的静态文件抛出错误 404

reactjs - 仅在 Gatsby 的特定页面上加载 Snipcart

go - 如何在Hugo网站中更改默认的url “/posts/”路由?

gatsby - 使用 gatsby 和 netlify 在构建时获取后在客户端上保留 api 数据

javascript - 使用 AnalogJS 渲染具有 2 个或更多路由参数的路由?

reactjs - Gatsby 影子的问题

javascript - Gatsby gatsby-remark-relative-images 不会将 yaml 绝对图像路径转换为相对路径

reactjs - 为什么在安装完 styled-components 后还需要安装 gatsby-plugin-styled-components

GraphQL 查询访问位于子目录中的文件夹中的所有转换后的 json 文件

node.js - Gatsby `S3Object` 架构中不存在。在添加解析器之前使用 `createTypes` 添加类型