Как интегрировать ReactJS с OctoberCMS - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь интегрировать ReactJS с OctoberCMS с приложением реагирования, находящимся в каталоге с именем реакции внутри установки OctoberCMS. Я не могу правильно настроить маршрутизацию. Прямое нажатие на URL, например http://example.com/react/blog, приводит к 404 странице. Если после первого посещения домашней страницы я перехожу на тот же URL-адрес (используя панель навигации), я могу успешно открыть страницу. Пожалуйста, помогите мне правильно настроить маршруты.

Кроме того, как мне соединить два (реагировать и октябрь CMS). Я думаю, что мой подход держать сборку реакции в папке при установке OctoberCMS неверен. Какой должен быть правильный подход?

В package.json я поместил "homepage": "/react/", он работает нормально, но при открытии страницы в новой вкладке получается страница 404, отображаемая OctoberCMS

Я также пытался <BrowserRouter basename = {'react'}> С этим я получаю URL, похожий на http://example.com/react/react/about-us/

Я попытался поместить содержимое сборки прямо в корневой каталог установки octoberCMS, что привело к увеличению страницы 404 при попадании на мой базовый URL.

<BrowserRouter>
  <TopBar />
  <Switch>
    <Route path={ `${process.env.PUBLIC_URL}/`} exact component={ HomePage} />
    <Route path={ `${process.env.PUBLIC_URL}/about-us`} exact component={ AboutUs} />
    <Route path={ `${process.env.PUBLIC_URL}/enquiry`} exact component={ Enquiry} />
    <Route path={ `${process.env.PUBLIC_URL}/contact`} exact component={ ContactUs} />
    <Route path={ `${process.env.PUBLIC_URL}/blog`} exact component={ Blog} />
    <Route path={ `${process.env.PUBLIC_URL}/terms`} exact component={ Terms} />
    <Route path={ `${process.env.PUBLIC_URL}/privacy-policy`} exact component={ PrivacyPolicy} />
    <Route path={ `${process.env.PUBLIC_URL}/request-purchase-offer`} exact component={ RequestPurchaseOffer} />
    <Route path={ `${process.env.PUBLIC_URL}/sell-now/benefits`} exact component={ Benefits} />
    <Route path={ `${process.env.PUBLIC_URL}/sell-now/how-dorrmat-works`} exact component={ HowDorrmatWorks} />
    <Route path={ `${process.env.PUBLIC_URL}/sell-now/customer-reviews`} exact component={ CustomerReviews} />
    <Route path={ `${process.env.PUBLIC_URL}/sell-now/offers`} exact component={ Offers} />
    <Route path={ `${process.env.PUBLIC_URL}/sell-now/faqs`} exact component={ FAQS} />
    <Route component={ NoMatchFound} />
  </Switch>
  <Footer />
  <button onClick={ ()=> this.scrollToTop(500)} className = "scroll-top"></button>
</BrowserRouter>

Я ожидаю, что реагирующая маршрутизация обрабатывает мои маршруты вместо маршрутизации octoberCMS на страницу 404. Также, когда я пытаюсь открыть страницу в новой вкладке, она не должна перенаправлять на страницу 404.

Любые предложения о том, как мне соединить этих двоих, были бы полезны.

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