如何启用GATSBY_CONTENTFUL_OFFLINE = true的标志?

时间:2019-03-01 16:10:19

标签: gatsby contentful

如何在GatsbyJS中启用GATSBY_CONTENTFUL_OFFLINE=true来离线访问内容?

documentation建议export GATSBY_CONTENTFUL_OFFLINE=true。 我尝试将其添加到配置中,但仍然无法正常工作。谁能告诉我在哪里添加此导出,否则功能是否真的起作用?

3 个答案:

答案 0 :(得分:1)

您应在.bashrc或类似文件中使用numpy arrays。您要将变量声明从Shell脚本导出到Shell会话中,使其可以用作环境变量。这样可以避免每次调用export …时都必须声明变量。

您还可以使用gatsby [command]声明此值(不使用.env.development),盖茨比将其选中,或者您可以在配置了dotenv软件包的情况下使用export

答案 1 :(得分:0)

它有效,但是:

  • 您实际上必须处于离线状态
  • NODE_ENV不是production(也就是gatsby build

See the implementation here

因此,我认为这只是一个方便的标记,使您无需互联网即可进行开发。我不确定export ...的含义是什么,但是由于他们正在检查process.env.GATSBY_CONTENTFUL_OFFLINE,因此可以通过将其添加到在终端中运行的任何命令之前进行设置(忽略{{1 }}):

$

这样做(关闭网络后),您应该在控制台中看到此注销:

  

使用内容丰富的离线缓存⚠️

     

如果您编辑package.json,gatsby-node.js或gatsby-config.js文件,则缓存可能无效

答案 2 :(得分:0)

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

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

因此,我更新了CONTENTFUL_ACCESS_TOKEN,它可以正常工作。

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

  1. 我导航至内容丰富的门户。并从左侧面板选择我的空间。
  2. 导航到设置-> API密钥
  3. 内容交付/预览令牌选项下,我选择了密钥的名称(如果您有多个密钥,则匹配spaceId)
  4. 复制Content Delivery API - access token并将其粘贴到您的.env.development文件中。保存。
  5. 然后运行gatsby开发