Путь Dynami c работает локально, но не на производстве - PullRequest
0 голосов
/ 10 марта 2020
  1. Краткое описание проблемы: a. Я хочу динамически генерировать страницу в Гэтсби, используя путь. Я применил метод, предложенный в этом вопросе . Этот метод работает локально, то есть на локальном хосте, но при развертывании его в рабочей среде появляется следующее сообщение об ошибке:

Страница не найдена Выглядит так, как будто вы перешли по неработающей ссылке или ввели URL который не существует на этом сайте.

Ожидаемый результат: После динамического c создания страницы, @ reach / router должен иметь возможность захватить идентификатор в пути и сделать в компоненте он доступен как реквизит.

Фактический результат: Это работает локально, но при работе браузер выдает мне вышеупомянутую ошибку. Ошибка в консоли:

Не удалось загрузить ресурс: сервер ответил со статусом 404 ()

Что я пробовал до сих пор?

В gatsby- node.js:

exports.onCreatePage = async ({ page, actions }) => {
  const { createPage } = actions;


  if (page.path.match(/^\/resetpassword/)) {
    page.matchPath = "/resetpassword/*"

    createPage(page)
  }
}

В пароле сброса пароля на странице Gatsby. js:

export default function ResetPassword() {
  return (
    <div>
      <Router basepath="/">
        <ResetWorker path="/resetpassword/:id" />
      </Router>
    </div>
  )
}

function ResetWorker({ id }) {

// Here I need to access the id to make a fetch call to my node.js backend

  return()
}

1 Ответ

0 голосов
/ 11 марта 2020

Это может быть полезно для кого-то. Вот как я решил проблему, основываясь на ответе на этот вопрос . 1. Я установил плагин Gatsby Netlify: gatsby-plugin-netlify 2. Добавил gatsby-plugin-netlify в массив плагинов gatsby-config. js. 3. Создайте файл _redirects в root моего проекта Gatsby со следующим правилом: / resetpassword / * /resetpassword/index.html 200

Нужная страница генерируется динамически. Спасибо, Ксав, за ваше предложение.

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