У меня проблема с response-router-dom, NoMatch не принимает URL типа / foo / bar

Я использую классическую конфигурацию с React, Redux и React-router-dom. В dev все работает нормально. и производственный режим (локальный хост и производственный сервер). У меня просто проблема с процессом NoMatch.

  • / good-path, это работа
  • / неправильный путь это работает и показать компонент NoMatch
  • / неправильный / путь отображается белая страница (статус 404 в сетевой консоли с неправильным URL-адресом www.myWebsite.com/wrong/path)

Я использую: - react 16.8.4 - react-dom 16.8.4 - react-redux 6.0.1 - react-router-dom 5.0.1 - redux 4.0.1

Это образец моей конфигурации:

<Provider store={store}>
  <Router>
    <div>

      <NavLink exact to="/">Home</NavLink>

      <NavLink exact to="/contact">Contact</NavLink>

      <Switch>
        <Route path="/" exact component={Home} />
        <Route path="/contact" component={Contact} />
        <Route component={NoMatch} />
      </Switch>

    </div>
  </Router>
</Provider>

Все работает правильно, но я ожидаю, что компонент NoMatch будет отображаться для такого неправильного пути: / неправильный / путь (URL с несколькими косыми чертами). В этом случае загружается index.html, но я не могу получить доступ к таким ресурсам, как app.js, у меня сетевая ошибка 404 с таким URL-адресом www.myWebsite.com/wrong/app.js

Спасибо за вашу помощь.


person NmiDev    schedule 30.06.2019    source источник
comment
Потребуются дополнительные коды. Если возможно, предоставьте ссылку на скрипку с минимальным кодом   -  person AdityaSrivast    schedule 30.06.2019


Ответы (1)


В этом квесте мне поможет друг. Я нашел ответ в конфиге Webpack.

Мне нужна еще одна деталь в настройке вывода, у меня был publicPath: "/":

// Set the output
  output: {
    // Path for the file
    path: path.resolve(__dirname, 'dist'),
    // Name for the output file
    filename: "app.js",
    //
    publicPath:"/"
  },

Спасибо моему другу Жоржу за этот пост: https://stackoverflow.com/a/39278576/9945698

person NmiDev    schedule 30.06.2019