Не могу понять, как использовать Gridsome-Plugin-Firestore - PullRequest
1 голос
/ 01 декабря 2019

Я пытаюсь использовать плагин gridsome-plugin-firestore (https://gridsome.org/plugins/gridsome-source-firestore). Я хочу использовать этот плагин для подключения к простой коллекции баз данных firestore, называемой news. У News есть несколько документов с различными полями:

  • содержание
  • опубликовано_дата
  • резюме
  • автор
  • название
  • и т. Д.

Кто-нибудь знает, как мне настроить файл gridsome.config для доступа к этой коллекции с помощью плагина gridsome-plugin-firestore? Я не могу понять это из приведенных инструкций.

1 Ответ

0 голосов
/ 03 января 2020

Документы Gridsome немного понятнее, чем версия npm, но вам нужно сгенерировать закрытый ключ Firebase Admin SDK и загрузить весь файл в приложение Gridsome и импортировать его в gridsome.config.js в виде модуля, назвать его как угодновы хотите для параметров> учетные данные: поле обязательна, как показано ниже.

Сначала вам понадобится плагин Firestore

$ yarn add gridsome-source-firestore

Затем в gridsome.config.js

const { db } = require('gridsome-source-firestore')

module.exports = {
  plugins: [
    {
      use: 'gridsome-source-firestore',
      options: {
        credentials: require('./my-project-firebase-adminsdk-qw2123.json'), // 
        Replace with your credentials file you downloaded.
        debug: true, // Default false, should be true to enable live data updates
        ignoreImages: false, // Default false
        imageDirectory: 'fg_images', // Default /fg_images
        collections: [
          {
            ref: (db) => {
              return db.collection('news')
            },
            slug: (doc, slugify) => {
              return `/news/${slugify(doc.data.title)}`
            },
            children: [
              {
                ref: (db, parentDoc) => {
                  return parentDoc.ref.collection('posts')
                },
                slug: (doc, slugify) => {
                  return `/${slugify(doc.data.title)}`
                },
              }
            ]
          }
        ]
      }
    }
  ]
}

Возможно, вам придется изменить «posts» на «content» в зависимости от структуры вашей БД и изменить соответствующие запросы страниц, есть некоторые примеры и другая полезная информация о настройке в этом стартовом файле Gridsome Firestore на Github https://github.com/u12206050/gridsome-firestore-starter.git

...