如何启用gatsby_contentful_offline = true的标志



如何在gatsbyjs中启用 GATSBY_CONTENTFUL_OFFLINE=true以脱机访问内容?

文档建议export GATSBY_CONTENTFUL_OFFLINE=true。我尝试在配置中添加它,但仍然不起作用。谁能告诉我在哪里添加此导出,否则功能是否实际工作?

您将在.bashrc中使用export …或类似。您将从Shell脚本将可变声明导出到Shell会话中,从而作为环境变量可用。这样可以防止您在gatsby [command]的每个调用中声明变量。

您也可以使用.env.development来声明此值(无export),而Gatsby会捡起它,也可以将.env与配置的Dotenv软件包一起使用。

它有效,但是:

  • 您必须真正离线
  • NODE_ENV不是 production(又称 gatsby build

请参阅此处的实现

因此,我认为这只是一个方便的标志,可以使您在没有互联网连接的情况下开发。我不确定export ...的DOC是什么意思,但是由于他们检查了process.env.GATSBY_CONTENTFUL_OFFLINE,因此您可以通过将其准备为在终端中运行的任何命令(忽略$):

>
$ gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is undefined
$ GATSBY_CONTENTFUL_OFFLINE=true gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is true
$ GATSBY_CONTENTFUL_OFFLINE=true gatsby build
# GATSBY_CONTENTFUL_OFFLINE is true, but contenful doesn't care
# because NODE_ENV is always set to `production`

这样做(关闭网络之后)时,您应该在控制台中看到该记录:

使用内容的离线缓存⚠️

如果您编辑package.json,gatsby-node.js或gatsby-config.js文件

,可能会使缓存无效。

我尝试了上述解决方案,但这对我不起作用。我有一个完全不同的问题。我以前从未使用过gatsby

因此,首先,我已经安装了gatsby,然后在.env.development中检查了CONTENTFUL_ACCESS_TOKEN。访问令牌,它与CONTENTFUL_SPACE_ID相同。

所以,我更新了 CONTENTFUL_ACCESS_TOKEN并起作用。

从内容的门户更新CONTENTFUL_ACCESS_TOKEN的步骤是:

  1. 我导航到满足的门户。并从左图中选择了我的空间。
  2. 导航到设置 - >API键
  3. content threseverion/preview tokens 选项下,我选择了键的名称(如果您有多个键,请匹配SpaceID)
  4. 复制Content Delivery API - access token并将其粘贴到您的.env.development文件中。保存。
  5. 然后运行Gatsby开发

相关内容

  • 没有找到相关文章

最新更新