1

好吧,我正在尝试在 netlify 中部署一个网站。它已经在github

当我尝试在 netlify 中部署网站时,它显示错误,但在我的本地计算机上它运行时没有错误

该网站在浏览器 localhost 中运行良好,并且 graphquery 正在根据需要显示数据。我在内容中制作了菜单列表......所以我不得不制作一个 gitignore .env.development 文件,但我在 netlify 构建环境变量中插入了 CONTENTFUL_ACCESS_TOKEN 和 CONTENTFUL_SPACE_ID 。

如果在 localhost 上执行时没有显示错误,我还能做什么?

请帮忙

4

1 回答 1

0

使用 Gatsby 环境变量 + Netlify 需要对这些变量进行小的更改。您需要GATSBY在所有变量中添加前缀。喜欢显示这个Netlify 社区线程以及Gatsby 文档

请注意,您不应将 .env.* 文件提交到源代码管理,而应使用持续部署 (CD) 提供商提供的选项。一个例子是 Netlify 及其构建环境变量。注意:由于 Gatsby 使用 Webpack DefinePlugin 使环境变量在运行时可用,它们不能从 process.env 中解构;相反,它们必须被完全引用。

GATSBY_API_URL将可用于您的站点(客户端和服务器端)作为process.env.GATSBY_API_URL.:

当然,这仅适用于 Netlify 端,不适用于您的本地机器,但建议在两端使用相同的命名。所以你需要改变你的内容变量。

CONTENTFUL_ACCESS_TOKENtoGATSBY_CONTENTFUL_ACCESS_TOKENCONTENTFUL_SPACE_IDto GATSBY_CONTENTFUL_SPACE_ID(此外在您gatsby-config.js或您使用它们的任何地方)。

下一步(也是最后一步)是在 Netlify 仪表板中添加这些变量,如以下屏幕截图所示:

环境配置 之前的配置可以在Deploys > Deploy settings下找到

完成此操作后,您的前端将能够找到您的 Contentful 变量。您可能需要删除 Netlify 构建缓存。

在此处输入图像描述

于 2020-04-22T19:01:54.243 回答