为什么必须为 Netlify 构建指定发布目录?

Why do you have to specify the publish directory for a Netlify build?

文档说:https://docs.netlify.com/configure-builds/overview/

Publish directory: Directory (relative to the root of your repo) that contains the deploy-ready HTML files and assets generated by the build. If a base directory has been specified, it should be included in the publish directory path. For example, if your base directory is set to site, the publish directory should include the site/ prefix like so: site/public. Visit the common configurations doc to learn about typical settings for popular tools and architectures.

我的问题是,我为什么要关心目录应该是什么?不都是在某处自动生成的吗?!

你完全正确。为每个 SSG(静态站点生成器)自动生成发布目录。现在有两个原因,为什么你需要指定它:

原因 1

每个 SSG 的默认发布目录不同。例如,

  • 雨果 public
  • 对于 Jekyll,它是 _site

每个 SSG 依此类推。

原因 2

所有这些 SSG 都允许您更改发布目录的默认名称。例如,

  • 在 Hugo 中,您可以使用 --destination flag
  • 更改发布目录
  • 在 Jekyll 中,您可以使用 --destination flag

那么,Nelify 如何知道您的发布目录的名称? 因此,有必要根据您的 SSG 和设置指定发布目录。