2016-04-17 64 views
0

我希望我的路線看起來像嵌套的路線:發生反應,安裝

/ 
/signin 
/discussion/:title 

然而,任何過去的第二斜線導致一個錯誤,並且我所有的客戶端的依賴性都扔意外標記錯誤 。例如,reactjs,我的CSS,也沒有我的圖像文件被加載到我的index.html文件中。我在後端使用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')); 

爲什麼我的嵌套路由不使用react-router進行安裝?

回答