reactjs - React Router <redirect> not working -
i have configured react-router redirect unknown url "/":
<router history={browserhistory}> <route path="/" component={shell}> <indexroute component={githubpage}/> <route path="clock" component={clockpage}/> <redirect from="*" to="/"/> </route> </router> the server has been correctly configured redirect unknown urls /index.html, looks this:
<html> <head> <link href="main.css" rel="stylesheet"> </head> <body> <main></main> <script src="main.js" type="text/javascript"></script> </body> </html> react router 2.8.1 behavior
/clockgets routed correctly clockpage/clock/est(which unknown route) not load app. server correctly sends/index.html, css , js files not loaded because browser asking/clock/main.css,/clock/main.js- not exist!- to fix issue included
<base href="/">in index.html. browser correctly asks/main.css,/main.js, app loads correctly. redirects "/" because/clock/estunknown route. warning in browser console:
warning: automatically setting basename using
<base href>deprecated , removed in next major release. semantics of subtly different basename. please pass basename explicitly in options createhistory
react router 3.0.0 behavior
at point, switched react-router version 3.0.0 (keeping <base href="/">) , warning goes away. unknown route still correctly redirects "/".
so questions are:
- does react-router 3.0.0 allow use of
<base href> - is solution best way redirect unknown urls "/"?
assume switch on react-router 3.0.0.
if you're generating out css using webpack , you're using htmlwebpackplugin can inject css dependencies in html template so:
<% (var css in htmlwebpackplugin.files.css) { %> <link href="<%= htmlwebpackplugin.files.css[css] %>" rel="stylesheet"> <% } %> then don't have worry using in template.
Comments
Post a Comment