Теоретически это должно сработать, добавив в папку /
файл /static.json
, который заставляет все идти в React index.html
.
(связанный)
React Routing работает на локальном компьютере, но не в Heroku
https://github.com/heroku/heroku-buildpack-static#configuration
В моем случае это не работает, я получаю Cannot GET /hello
вместо получения index.html.Удивительно, но если я сразу перехожу на /index.html
, я получаю страницу, но маршрут не активируется.
Что происходит и как я могу это исправить?
ОБНОВЛЕНИЕ: попробовал без удачи /static.jason
/src/static.jason
/client/static.jason
/client/src/static.jason
/static.json
{
"routes": {
"/**": "index.html"
}
}
/client/src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import FileUpload from './FileUpload';
ReactDOM.render(
<div><FileUpload /></div>,
document.getElementById('root')
);
/client/src/FileUpload.mjs
import React, { Component } from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
class TextFileReader extends Component {
render() {
return (
<Router>
<div>
<Route path="/heyyo" render={() => <span>heyyo</span>} />
<Route exact path="/" render={() => <div>resting</div>} />
<Route path="/what" render={() => <div>what</div>} />
NO ROUTES HERE
</div>
</Router>
)
}
}
export default TextFileReader;