Странное поведение при использовании ссылки Gatsby и разбивки на страницы - PullRequest
0 голосов
/ 19 июня 2020

У меня есть сайт gatsby, который я создавал для клиента. Я был готов к выпуску этого проекта, когда обнаружил, что была введена новая ошибка, которая не позволяет пользователю пролистывать набор сообщений с помощью кнопки «Назад» или «Далее». Этот код проверен и работает несколько месяцев.

Происходит следующее: нажатие следующей кнопки пытается направить пользователя на URL-адрес, который включает страницу, на которой в данный момент находится пользователь, с добавленной желаемой страницей ie: site.com/projects/currentPage/projects/nextPage

URL-адреса страниц создаются сборкой и передаются через контекст

    const path = `/projects/${post.node.slug.current}`
    const previous =
      index === sortedActive.length - 1 ? null : sortedActive[index + 1].node
    const next = index === 0 ? null : sortedActive[index - 1].node

    createPage({
      path: path,
      component: blogPost,
      context: {
        slug: post.node.slug.current,
        previous,
        next,
      },
    })
  })

Я не думал проверять это, так как он работал без проблем в течение нескольких месяцев, и в результате код был проверен в действующий сайт. Мне удалось откатить развертывание до последней рабочей версии, так что работающий сайт работает. Однако попытка сброса git до последней рабочей фиксации не решает проблему.

Мое последнее развертывание без этой проблемы было 25 мая. С этого момента по 13 июня я переформатировал свою машину и восстановил код из резервной копии. Когда я попытался запустить разработку локально после переформатирования, я получил сообщение о том, что Гэтсби не может найти Sharp в папке node_modules. Странно, но я удалил папку node_modules и yarn.lock и снова запустил yarn.

Значение предыдущей или следующей страницы передается через реквизиты, и когда я проверяю это значение, я получаю ожидаемый URL. Все остальные внутренние ссылки работают. Я не знаю, что еще попробовать и как двигаться дальше. Как я уже сказал, эта функция работала в воскресенье, когда я начал интегрировать последние изменения перед завершением проекта. Любая помощь или направление приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...