Содержит Nuxt. JS "Ожидаемый параметр accessToken" - PullRequest
6 голосов
/ 21 марта 2020

Я сделал страницу, которая извлекает данные из Contentful. Данные вытягиваются правильно, но кнопки, которые используют функции из методов, не работают. Оперативное обновление переменных (например, с использованием v-model) также не работает.

Я вижу эту ошибку в консоли:

screenshot

Я думаю, что эта ошибка - проблема. Кто-нибудь знает в чем дело? Понятия не имею, как это решить: (

Мой контент. 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
  }
};

Ответы [ 2 ]

5 голосов
/ 22 марта 2020

Наилучшим подходом является использование пакета dotenv к этому. Установите ваши ключи env в .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

1 голос
/ 23 марта 2020

Если вы используете dotenv, вам нужно выполнить следующие шаги:

npm install --save-dev @nuxtjs/dotenv

Затем вы установите его как модуль. Обратите внимание, что если вы используете Nuxt. js старше, чем v2.9, тогда вы должны go до nuxt.config.js и поместить свой код в раздел module:

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

Если нет module, затем создайте его.

Если вы используете более новую версию, чем v2.9, вы помещаете ее в buildModules

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

Ваши переменные, которые сохраняются в .env файл теперь доступен через context.env или process.env

...