我正在使用反应路由器作为root,并且"/"下的所有请求都被定向到路由器.当react路由器发现url与任何已定义的组件不匹配时,它会使用NoMatch组件进行渲染.这就解决了问题,NoMatch是渲染的,这就是我想要的,但状态代码仍然是200而不是404.当我的css或js文件放置错误的url react路由器做同样的事情时,它会响应200 !然后该页面告诉我,我的资源内容类型存在一些问题!
那么,我如何使用react路由器来处理"/"中的所有内容并仍然可以正确处理404错误(以404状态代码响应)?
反应路由器中的代码
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'));
Run Code Online (Sandbox Code Playgroud)
服务方面
router.use('/', function(req, res, next) {
res.render('index-react', {
title: 'some title'
});
});
Run Code Online (Sandbox Code Playgroud) javascript frontend http-status-code-404 reactjs react-router
我最近在学习python.我使用PyCharm作为我在MacBook中运行的编辑器.问题是当我在PyCharm终端输入类似scrapy -V的内容时,它告诉我"zsh:command not found:scrapy",但是当我在PyCharm外面启动终端时,它可以正常工作.
所以我想知道路径var是否正确.然后我在PyCharm终端尝试echo $ PATH,它返回:
/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
并且PyCharm外面的终端返回:
/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands
Run Code Online (Sandbox Code Playgroud)
我将shell路径设置为: /bin/zsh
顺便说一句,我也是IDEA,但是那里的一切都很好,而且shell路径与PyCharm中的相同.
那么,是什么导致我的PyCharm终端(zsh)中的路径变量出错?
我想使用if句子向body标签添加一个类,如果页面是一个帖子,那么如果页面是帖子则将页面添加到类中,然后向其添加帖子.我不知道具体如何做到这一点,任何人都可以帮我搞清楚吗?
frontend ×1
html ×1
if-statement ×1
javascript ×1
jekyll ×1
liquid ×1
macos ×1
pycharm ×1
python ×1
react-router ×1
reactjs ×1
terminal ×1
zsh ×1