满意 Nuxt.JS "Expected parameter accessToken"

Contentful with Nuxt.JS "Expected parameter accessToken"

我制作了一个从 Contentful 中提取数据的页面。数据提取正确,但使用方法中的功能的按钮不起作用。变量的实时更新(例如,使用 v-model)也不起作用。

我在控制台中看到这个错误:

我认为这个错误就是问题所在。有谁知道怎么了?我不知道如何解决它:(

我的contentful.js:

const contentful = require('contentful')

const client = contentful.createClient({
  space: process.env.CONTENTFUL_ENV_SPACE_ID,
  accessToken: process.env.CONTENTFUL_ENV_ACCESS_TOKEN
})

module.exports = client

拉取数据的代码:

export default {
  layout: "landing_page",
  asyncData() {
    return client
      .getEntries({
        content_type: "landingPage"
      })
      .then(entries => {
        return { contentfulData: entries.items[0].fields };
      });
  },
  computed: {
    styles() {
      return landingPageCss;
    }
  },
  components: {
    priceBox,
    contact,
    home,
    aboutUs,
    footerDiv
  }
};

最好的方法是使用 dotenv 包。在 .env 文件中设置您的环境密钥。

nuxt.config.js 文件应包含:

const env = require('dotenv').config()

export default {
  mode: 'universal',
  ...
  env: env.parsed,
  ...
}

看看这个视频:https://codecourse.com/watch/using-env-files-with-nuxt

如果您使用 dotenv,您需要执行以下步骤:

npm install --save-dev @nuxtjs/dotenv

然后将其作为模块安装。请注意,如果您使用 Nuxt.js 比 v2.9 更早的版本,那么您必须转到 nuxt.config.js 并将您的代码放入 module 部分:

...
   module: [
   '@nuxtjs/dotenv'
 ]
...

如果没有 module 部分,则创建一个。

如果您使用比 v2.9 更新的版本,那么您可以将其放入 buildModules

  ...
   buildModules: [
   '@nuxtjs/dotenv'
 ]
...

您保存在 .env 文件中的变量现在可以通过 context.envprocess.env

访问