2016-11-11 1 views
0

Я использую реактивный маршрутизатор в своем проекте реагирования. Это мой package.json:сделать доступ к полной странице пути и перезагрузки с помощью реактивного маршрутизатора

{ 
    "name": "app_name", 
    "version": "1.0.0", 
    "description": "app on browser", 
    "main": "gulpfile.js", 
    "scripts": { 
    "build": "gulp build", 
    "start": "cordova run browser" 
    }, 
    "author": "maki", 
    "license": "ISC", 
    "dependencies": { 
    "babel-preset-es2015": "^6.13.2", 
    "browserify": "^13.1.0", 
    "gulp": "^3.9.1", 
    "history": "^4.2.0", 
    "material-design-icons": "^2.2.3", 
    "material-ui": "^0.15.4", 
    "react": "^15.3.0", 
    "react-dom": "^15.3.1", 
    "react-motion": "^0.4.4", 
    "react-router": "^2.7.0", 
    "react-swipeable-views": "^0.7.0", 
    "react-tap-event-plugin": "^1.0.0", 
    "vinyl-source-stream": "^1.1.0" 
    }, 
    "devDependencies": { 
    "babel-cli": "^6.11.4", 
    "babel-plugin-transform-class-properties": "^6.11.5", 
    "babel-preset-react": "^6.11.1", 
    "babel-preset-stage-1": "^6.13.0", 
    "babelify": "^7.3.0", 
    "gulp-sass": "^2.3.2", 
    "jquery": "^3.1.0" 
    } 
} 

У меня есть маршрутизатор, как показано ниже:

<Router history={browserHistory}> 
    <Route path="/" component={App}> 
    <IndexRoute component={HomePage}/> 
    <Route path="/news" component={NewsPage}/> 
     <Route path="/news/:id" components={News}/> 
    <Route path="/about" component={AboutPage}/> 
    <Route path="/member" component={MemberPage}/> 
    <Route path="/products" component={ProductsPage}/> 
    <Route path="/contact" component={ContactPage}/> 
    </Route> 
</Router> 

Вот что я хочу добиться:
1: Доступ к кроме IndexRoute.
ex) http://example.com/news/1234
2: Предоставление перезагрузки, кроме страницы IndexRoute.

Теперь, я стараюсь это, и я получаю это сообщение:

не может получить/Новости

что я должен делать ??

ответ

1

Вы должны реализовать историю запасной вариант для browserify в вашем gulpfile похожее на это:

var historyApiFallback = require('connect-history-api-fallback'); 

// ... 
browserSync({ 
    server: { 
    baseDir: './', 
    middleware: [historyApiFallback()], 
    }, 
}); 
+0

спасибо за ответ. – mackeee

+0

, но, когда я это сделал, появляется сообщение об ошибке: «Can not GET /» – mackeee

+0

Проверьте, является ли 'baseDir' путь, где находится ваш' index.html'. –