React Router Parameterized Link не работает на стороне сервера - PullRequest
0 голосов
/ 07 апреля 2019

После сборки и развертывания моего приложения React на моем веб-сервере Apache2.4, каждый раз, когда я пытаюсь получить доступ к ссылке с параметром (например, /verify/:id), я получаю пустой экран и две ошибки в моей консоли, обе SyntaxError: expected expression, got '<'(https://i.imgur.com/MM83bU8.png). Этого не происходит, когда я тестирую его локально с помощью npm start

. Оказывается, что оба файла, упомянутые в этой ошибке, не содержат JS, а скорее HTML. Содержимое main [...]. js: https://i.imgur.com/IFGNeJC.png

Обычные ссылки (например, / регистрация, / логин) и т. д. работают как сон.


Я уже пытался обслуживать приложениес пакетом npm serve.


Моя настройка response-router-dom

import Submit from './Submit'
import Verify from './Verify'
import {BrowserRouter as Router, Route, Switch} from "react-router-dom"

<Router>
  <Switch>
    [...]
    <Route exact path="/jam/submit/" component={Submit} /> // working route
    <Route path="/jam/verify/:token" component={Verify} /> // not working route
  </Switch>
</Router>

Проверка компонента (Verify.js)

import React, { Component } from 'react'
export default class Verfiy extends Component {
  render() {
    return(
      <div>
        <span>{this.props.match.params.token}</span>
      </div>
    )
  }
}

А теперь подведем итог:

Что должно произойти?

Я должен увидеть переданный параметр из /jam/verify/:token

Что на самом деле происходит?

Iполучить пустую страницу и указанные ошибки консоли.

Вы можете проверить это в https://cyklan.de/jam/verify/ThisShouldShowUp

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