部署到 Netlify 时忽略 Repo 中的文件

Ignore Files In Repo When Deploying To Netlify

我有一个 Github 存储库,其中包含一些大型图形资产。由于 Netlify 的大小限制,这些资产导致无法部署到 Netlify。有什么办法可以将这些文件保留在 Github 存储库中,但将它们从 Netlify 部署中排除,就像我在部署到 heroku 时可以使用 .slugignore 文件一样。

Netlify 实际上并没有明确的大小限制,但上传大于 20MB 的文件可能会失败。你的文件比那个大吗?如果是这样,将它们托管在 Netlify 的 CDN 上也没有意义,因为 CDN 边缘缓存将忽略它们,并且它们无论如何都会为浏览器加载缓慢。

要不部署它们,最直接的方法是在构建后删除它们,如下所示:

npm run build && rm dist/hugefile1.jpg dist/subdir/hugefile2.pdf

您可以更高级并使用文件列出它们,或者只是寻找所有巨大的东西。警告 - 你的 sourcemap(如果你使用的话)是一个非常有意义的东西,所以要注意它可能会捕捉到什么!

npm run build && find dist -type f -size +20M

有效 - 您可以在 shell 脚本中执行任何操作。注意:如果任何必要步骤失败,您需要确保构建管道失败 - 这就是示例显示 && 链接命令而不是 ; 的原因(构建可能会失败,找到成功,然后我们发布一个空站点!)。

此处有更多详细信息:https://www.netlify.com/blog/2016/10/18/how-our-build-bots-build-sites/ and you can test out your scripts using the methodology described here: https://github.com/netlify/build-image#testing-locally