Как изменить Netlify CMS для Strapi CMS? - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в этом мире внешнего интерфейса, у меня есть некоторые знания по React и GraphQL, и поэтому я решил попробовать создать тестовый блог с Gatsby , так как он кажется довольно популярным и простым использовать.

Я также хотел получить свои руки в интерфейсе материалов, поэтому я использую этот стартер Гэтсби: https://www.gatsbyjs.org/starters/Vagr9K/gatsby-material-starter

Этот стартер, кажется, включал интеграция с Netlify CMS , поэтому я хотел изменить это и начать использовать Strapi CMS , чтобы я мог иметь там содержимое.

Любая идея, как это сделать

1 Ответ

1 голос
/ 06 апреля 2020

В вашем вопросе много материала, я постараюсь ответить на него шаг за шагом, если нет, пожалуйста, дайте мне знать, если вам нужно больше деталей о том, как создавать страницы, и т. Д. c, и я обновлю свой ответ чтобы добавить больше деталей, если это необходимо.

Если вы хотите изменить свой источник с Netlify на Strapi , вам нужно настроить его в вашем gatsby-config.js, заменив плагин gatsby-plugin-netlify-cms на что-то вроде что:

  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: `http://localhost:1337`,
      queryLimit: 1000, // Default to 100
      contentTypes: [`article`, `user`],
      //If using single types place them in this array.
      singleTypes: [`home-page`, `contact`],
      // Possibility to login with a strapi user, when content types are not publically available (optional).
      loginData: {
        identifier: "",
        password: "",
      },
    },
  },

Обратите внимание, что вам придется установить нужные плагины и удалить ненужные, чтобы уменьшить пакет и улучшить производительность при использовании стартеров.

Следующим шагом является создание страниц из исходной CMS (статьи, публикации, страницы и т. Д. c) с использованием GraphQL. Может быть, этот блог поможет вам . Но в качестве краткого изложения вам нужно создать запросы в gatsby-node.js для извлечения данных из Strapi CMS и создания страниц с использованием API Гэтсби.

Идея та же, что и у ваших стартеров, однако вместо использования gatsby-source-filesystem и используя allMarkdownRemark при создании своей страницы, вы будете использовать объект, предоставляемый Strapi CMS. Вы можете проверить запросы и доступные объекты, используя gatsby development и введя в localhost: 8000 / ___ graphql .

Имейте в виду, что вы всегда будете запрашивать данные о состоянии c (т.е. предварительно загруженные данные) из нескольких источников, поэтому при запуске команды разработки данные загружаются и доступны через GraphQL.

Дополнительную информацию можно найти в репозитории стартера .

...