“gatsby-source-contentful”的插件选项无效

问题描述

在尝试打开我通过 GitHub 分叉的项目时遇到以下错误

success open and validate gatsby-configs - 0.492s

 ERROR #11331  PLUGIN

Invalid plugin options for "gatsby-source-contentful":

- "accesstoken" is required

not finished load plugins - 6.220s

我进行了多次编辑,但我无法处理该项目,因为我目前无法打开它。我确实有一个内容丰富的帐户,但我对 Gatsby 还很陌生,并且不知道如何为 accesstoken 设置新值。

我是否需要通过 process.env 执行此操作,或者我是否完全错过了该过程?

谢谢,感谢您的帮助。

解决方法

我是否需要通过 process.env 执行此操作,或者我是否错过了该过程 完全?

当然,您需要向 Gatsby 和 Contentful 提供您的访问令牌。默认情况下,Gatsby 在分别运行 .env.development.env.production 时采用 gatsby developgatsby build,因此您需要将凭据添加到 environment files

首先,在模块导出上方的 gatsby-node.js 中添加以下代码段:

require("dotenv").config({
  path: `.env.${process.env.NODE_ENV}`,})

这将告诉 Gatsby 在每个运行命令中需要获取哪个文件。

下一步是填写环境文件,在它们两个中添加:

CONTENTFUL_ACCESS_TOKEN=123456
CONTENTFUL_SPACE_ID=78910

所以,最后您的 gatsby-config.js 应该如下所示:

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-source-contentful`,options: {
        spaceId: process.env.CONTENTFUL_SPACE_ID,accessToken: process.env.CONTENTFUL_ACCESS_TOKEN,},],}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...