2016-04-17 8 views
0

Я хочу, чтобы мои маршруты выглядеть следующим образом:Реагировать вложенную маршрут не монтажный

/ 
/signin 
/discussion/:title 

Однако, все мимо второй прямой слэш вызывает ошибку, и все мои на стороне клиента зависимостей метания Неожиданные ошибки маркера , Например, в моем файле index.html загружаются ссылки, мои CSS и мои файлы изображений. Я использую ExpressJS на сервере. Я использую следующую строку на моем сервере, чтобы подтолкнуть маршрутизацию к клиенту:

app.get('*', function(req, res, next) { 
    res.sendFile(path.join(__dirname, 'app/index.html')); 
}); 

routes.jsx

var React = require('react'), 
    Router = require('react-router'), 
    Route = Router.Route, 
    IndexRoute = Router.IndexRoute, 
    App = require('./components/app/app.jsx'), 
    Home = require('./components/pages/home.jsx'), 
    Discussion = require('./components/pages/discussion.jsx'), 
    DiscussionArea = require('./components/pages/discussionArea.jsx'), 
    Signin = require('./components/pages/signin.jsx'), 
    NotFound = require('./components/pages/notFound.jsx'); 

var routes = (
    <Route path='/' component={App}> 
    <IndexRoute component={Home} /> 
    <Route path='discussion' component={Discussion}> 
     <Route path='/discussion/area' component={DiscussionArea} /> 
    </Route> 
    <Route path='signin' component={Signin} /> 
    <Route path='*' component={NotFound} /> 
    </Route> 
); 

module.exports = routes; 

main.jsx

var React = require('react'), 
    ReactDOM = require('react-dom'), 
    ReactRouter = require('react-router'), 
    Router = ReactRouter.Router, 
    routes = require('./routes.jsx'), 
    createHistory = require('history').createHistory; 

ReactDOM.render((
    <Router history={ createHistory() }> 
    {routes} 
    </Router> 
), document.getElementById('app')); 

Почему мой вложенные маршруты не монтируются с помощью реактивного маршрутизатора?

ответ

1

Я нашел ответ. Обратитесь к этому ответу на Stackoverflow: Minimum nodejs server setup needed for React using react-router and browserHistory

Это как-то связано с тем, как мой сервер обслуживает пути. Мои ресурсы загружаются относительно URL-адреса, когда они должны загружаться из корня сервера.

Решение должно было добавить <base href="/"> в голову моего файла index.html.