React Router v4 в производстве с Apache

Я пытаюсь развернуть свой код на Apache. Я использую react router 4 и connected react router с create react app.

Приложение развертывается во вложенном каталоге, например: http://example.com/pathTo/myApp.

Есть 2 необязательных параметра. Когда используется первый, он работает нормально. Когда есть дополнительный параметр, возникает ошибка.

Uncaught SyntaxError: Unexpected token < 1.9adc2a7a.chunk.js:1

package.json

...
"homepage": ".",
...

store.js

export const history = createHistory({
    basename: "/pathTo/myApp",
})

index.js

render(
    <Provider store = {store}>
        <ConnectedRouter history = {history}>
            <Switch>
                <Route path = {`/:viewType?/:viewID?`} component = {App} />
                <Redirect from = "*" to = "/about" />
            </Switch>
        </ConnectedRouter>
    </Provider>,
    target
);

.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /pathTo/myApp/index.html [L]
</IfModule>

Любая помощь или предложения очень приветствуются.

Вы когда-нибудь находили на это ответ? Я как раз собирался задать аналогичный вопрос.

StudioTime 09.01.2019 20:32

К сожалению, нет. Самое дальнее, что я получил, - это установка base href в index.html на базовый URL-адрес, что позволило параметрам URL-адреса работать при начальной загрузке, но все же не перезаписать URL-адрес правильно.

its30 09.01.2019 20:40

Хммм - должен быть способ сделать это, иначе любой, у кого есть блог или что-то в этом роде, с динамическим контентом, не сможет им поделиться.

StudioTime 09.01.2019 20:42

Я согласен, я хочу решить эту проблему. У меня просто не хватило времени, и, поскольку это не было требованием проекта, я решил развернуть его как есть.

its30 09.01.2019 20:44

Оборачивая свое приложение в import { HashRouter } from 'react-router-dom';, чтобы <HashRouter><app /></HashRouter>, я, наконец, заставил это работать - уродливые URL-адреса, но цена, которую мне стоит заплатить, - может обновлять динамические страницы на сервере Apache, и маршрутизация работает, если вам это нравится, товарищ

StudioTime 10.01.2019 22:52

Ах хорошо. Не уверен, что смогу пойти по этому пути, поскольку я уже использую хешированные параметры w / mapbox-gl в своем приложении. Таким образом параметрируются широта, долгота и масштаб. Например, http://example.com/pathTo/myApp/property/219?layers=building‌​s#34.44/23.233/7

its30 10.01.2019 23:37

Я ответил на аналогичный вопрос здесь. Может, это поможет.

movcmpret 05.10.2020 16:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
7
512
0

Другие вопросы по теме