Не удается получить данные страпи при использовании getStaticProps next.js

Я пытаюсь отобразить контент из страпи в приложении next.js, которое генерируется статически.

Я запускаю и страпи, и next.js на локальном хосте (страпи на localhost:1337, next.js на localhost:4200) и отключил cors на страпи.

 {
    name: 'strapi::cors',
    config: {
      enabled: false,
      origin: ['*'],
      methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
      headers: '*'
    },
  },

Когда я пытаюсь получить данные из getStaticProps, я получаю сообщение об ошибке:

cause: Error: connect ECONNREFUSED ::1:1337
      at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
    errno: -61,
    code: 'ECONNREFUSED',
    syscall: 'connect',
    address: '::1',
    port: 1337
  }
export async function getStaticProps() {
  try {
    const res = await fetch('http://localhost:1337/api/pages/2');
    const pages = await res.json();

    return {
      props: { title: pages.data.attributes.title },
    };
  } catch (err) {
    return { props: { title: 'failed' } };
  }
}

Интересно то, что если я использую тот же механизм выборки внутри хука, он работает:

useEffect(() => {
   getStaticProps();
 }, []);

У кого-нибудь есть идея, почему это произойдет?

🤔 А знаете ли вы, что...
Strapi поддерживает создание пользовательских хука для расширения функциональности.


120
1

Ответ:

Решено

Измените URL-адрес запроса (выборки) на 127.0.0.1 вместо localhost.