Używam routera reagowania jako root, a wszystkie żądania pod "/" są kierowane do routera reagowania. A gdy router zareaguje, że URL nie jest dopasowany do żadnego ze zdefiniowanych komponentów, renderuje się komponentem NoMatch. I tu pojawia się problem, NoMatch jest renderowany i tego właśnie chcę, ale kod statusu wciąż wynosi 200 zamiast 404. A kiedy moje pliki css lub js są umieszczone z niewłaściwym adresem URL router reaguje tak samo, odpowiada 200 ! A następnie strona informuje mnie, że jest jakiś problem z moim typem zawartości zasobów!Jak zezwolić routerowi na reagowanie za pomocą kodu statusu 404?
Jak zatem korzystać z routera reagowania, aby obsłużyć wszystko w "/" i nadal otrzymywać poprawnie błędy 404 (w odpowiedzi na kod statusu 404)?
kod w drużynie reagują routera
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="archived" component={App}>
<IndexRoute component={ArchivedPage}/>
<Route path="project/:projectId" component={ArchivedDetailPage}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('app'));
servre
router.use('/', function(req, res, next) {
res.render('index-react', {
title: 'some title'
});
});
Co już wymyśliłeś? Udostępnij kod –
kod jest teraz obsługiwany – Liang
Dodałem, że rekwizyt, ale router reagujący tego nie obsłużył, to nie wyemituje błędu statusu 404. Czy możliwe jest wysyłanie błędu statusu 404 przez javascript? – Liang