如何使用Gatsby将任意文件添加到/public?

如何使用Gatsby将任意文件添加到/public?,gatsby,netlify,Gatsby,Netlify,我想在/src中添加一个文本文件,使其在生成目录的根目录中始终保持不变(/public) 具体来说,我需要为Netlify添加一个\u redirects,以便将子域重定向到自定义域 运行gatsby1.0alpha。无需将其放入/src。我只是将它直接添加到/public 即使它在.gitignore中,我还是使用了git add-f/public/\u重定向,提交了它,并且成功了。在构建过程中不会删除或覆盖它 另一种方法(我还没有测试过)是将文件复制到/public中的目的地,作为gats

我想在
/src
中添加一个文本文件,使其在生成目录的根目录中始终保持不变(
/public

具体来说,我需要为Netlify添加一个
\u redirects
,以便将子域重定向到自定义域


运行gatsby1.0alpha。

无需将其放入
/src
。我只是将它直接添加到
/public

即使它在
.gitignore
中,我还是使用了
git add-f/public/\u重定向,提交了它,并且成功了。在构建过程中不会删除或覆盖它



另一种方法(我还没有测试过)是将文件复制到/public中的目的地,作为gatsby node.js中的一部分。

到派对上有点晚

最简单的方法是在项目根目录中添加
静态
文件夹,然后在其中放置
\u重定向
。然后,当您构建时,盖茨比将自动拾取该文件并将其放置在
/public
文件夹中


请参见

即使这个问题得到了回答,我还是找到了另一种方法,我想与大家分享。只需在构建期间复制您的
\u重定向文件或任何文件,如下所示:

“build”:“gatsby build&cp src/_重定向public/”

每次构建部署时,它都会复制您的文件。我希望这能帮助别人

我通过安装
gatsby plugin copy files enhanced
plugin并编辑gatsby config.js解决了类似的问题,如下所示:

{
  resolve: `gatsby-source-filesystem`,
  options: {
    name: `extra`,
    path: `${__dirname}/src/extra`,
  },
},
{
  resolve: 'gatsby-plugin-copy-files-enhanced',
  options: {
    source: `${__dirname}/src/extra`,
    destination: '/',
    purge: false,
  },
},

注意:不要忘记移动
\u将
文件重定向到
src/extra

盖茨比,以便将文件逐字复制到生成目标。

将其添加到生成后脚本中是可行的。一个注意事项是将
postBuild
替换为
onPostBuild
。例如,此处使用的: