如何使用 Gatsby 将任意文件添加到 /public?
How do I add an arbitrary file to /public with Gatsby?
我想将一个文本文件添加到 /src
中,这样它在构建目录 (/public
) 的根目录中始终保持不变。
在我的例子中,我需要为 Netlify 添加一个 _redirects
file 以将子域重定向到自定义域。
运行 盖茨比 1.0 alpha。
不需要放在/src
中。我只是直接将它添加到 /public
。
尽管它在 .gitignore
中,但我使用了 git add -f /public/_redirects
,提交了它,并且成功了。它在构建期间不会被删除或覆盖。
另一种方法(我还没有测试过)是将文件复制到 /public 中的目标位置,作为 gatsby-[=22 中 post-build script 的一部分=].
聚会有点晚了。
最简单的方法是在您的项目根目录中添加 static
文件夹,然后将 _redirects
放入其中。然后,当您构建 Gatsby 时,它会自动拾取它并将其放置在 /public
文件夹中。
尽管这个问题得到了回答,但我找到了另一种方法来做到这一点,我想分享一下。只需在构建期间复制您的 _redirects
文件或任何文件,如下所示:
"build": "gatsby build && cp src/_redirects public/"
它会在您每次构建部署时复制您的文件。我希望这对某人有所帮助!
我通过安装 gatsby-plugin-copy-files-enhanced
插件并编辑 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,
},
},
注意:不要忘记将 _redirects
文件移动到 src/extra
.
Gatsby now recommends using the ./static/
directory 用于将文件逐字复制到构建目标中。
我想将一个文本文件添加到 /src
中,这样它在构建目录 (/public
) 的根目录中始终保持不变。
在我的例子中,我需要为 Netlify 添加一个 _redirects
file 以将子域重定向到自定义域。
运行 盖茨比 1.0 alpha。
不需要放在/src
中。我只是直接将它添加到 /public
。
尽管它在 .gitignore
中,但我使用了 git add -f /public/_redirects
,提交了它,并且成功了。它在构建期间不会被删除或覆盖。
另一种方法(我还没有测试过)是将文件复制到 /public 中的目标位置,作为 gatsby-[=22 中 post-build script 的一部分=].
聚会有点晚了。
最简单的方法是在您的项目根目录中添加 static
文件夹,然后将 _redirects
放入其中。然后,当您构建 Gatsby 时,它会自动拾取它并将其放置在 /public
文件夹中。
尽管这个问题得到了回答,但我找到了另一种方法来做到这一点,我想分享一下。只需在构建期间复制您的 _redirects
文件或任何文件,如下所示:
"build": "gatsby build && cp src/_redirects public/"
它会在您每次构建部署时复制您的文件。我希望这对某人有所帮助!
我通过安装 gatsby-plugin-copy-files-enhanced
插件并编辑 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,
},
},
注意:不要忘记将 _redirects
文件移动到 src/extra
.
Gatsby now recommends using the ./static/
directory 用于将文件逐字复制到构建目标中。