Ошибка: подключение ECONNREFUSED 127.0.0.1:8080

#wordpress #woocommerce #gatsby #woocommerce-rest-api #gatsby-plugin

#wordpress #woocommerce #gatsby #woocommerce-rest-api #gatsby-плагин

Вопрос:

Я использую локальный веб-сайт WordPress с помощью маховика (URL: xyz.local ). Я создал новый сайт gatsby с использованием и добавил gatsby-source-woocommerce. Я также сгенерировал ключ потребителя и секрет потребителя из настроек woo-commerce. я добавил их в api_keys в файле конфигурации.

Когда я запускаю gastby develop, я получаю эту ошибку.

 ========== WARNING FOR FIELD products ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================

08:19:23.204Z > gatsby-source-woocommerce: Fetching 0 nodes for field: products
08:19:23.206Z > gatsby-source-woocommerce: Completed fetching nodes for field: products
warn
========== WARNING FOR FIELD products/categories ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================

08:19:23.213Z > gatsby-source-woocommerce: Fetching 0 nodes for field: products/categories
08:19:23.215Z > gatsby-source-woocommerce: Completed fetching nodes for field: products/categories
warn
========== WARNING FOR FIELD products/attributes ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================

  

Может кто-нибудь, пожалуйста, сказать, пропустил ли я что-нибудь? или я что-то не так сделал?

Ответ №1:

Я решил это. Проблема с плагином. В настройках конфигурации gatsby-source-woocommerce прокомментируйте все после полей, т. Е. После комментария это выглядит как,

 {
      resolve: "@pasdo501/gatsby-source-woocommerce",
      options: {

        // Base URL of WordPress site

        api: "wordpress.domain",

        // set to false to not see verbose output during build
        // default: true
        verbose: true,

        // true if using https. otherwise false.
        https: false,
        api_keys: {
          consumer_key: <key>,
          consumer_secret: <secret>,
        },
        // Array of strings with fields you'd like to create nodes for...
        fields: ["products", "products/categories", "products/attributes"],

       
      },
    },
  

Перейдите в папку @pasdo501 / gatsby-source-woocommerce ( модули узла) -> gatsby-node.js
измените api_version = «wc / v3» на «wc / v2» и
измените wpAPIPrefix = null на «wp-json»
и сохраните его.

вуаля

Ответ №2:

нет необходимости менять пакет. вы можете сделать это:

  • добавить /index.php в конец api .

  • установите wpAPIPrefix на wp-json .

  • установите query_string_auth на true (я не уверен, что это необходимо).

     {
      resolve: '@pasdo501/gatsby-source-woocommerce',
      options: {
        api: 'pro.com/index.php',
        https: true,
        verbose: true,
        api_keys: {
          consumer_key: `ck_...........`,
          consumer_secret: `cs_.................`,
        },
        fields: ['products', 'products/categories', 'products/attributes', 'products/tags'],
        wpAPIPrefix: 'wp-json',
        query_string_auth: true,
        api_version: 'wc/v3',
        // per_page: 100,
        // encoding: 'utf8',
        // axios_config: {}
      }
    }