- routesファイルexportsは以下のように、
function(){return ...}
の形
- root path は別に '/' でなくとも大丈夫
module.exports = function() {
return (
<Route name="app" path="/videos" handler={App}>
<Route name="youtube" handler={YouTube} />
<Route name="vimeo" handler={Vimeo} />
<DefaultRoute handler={Top} />
</Route>
);
};
- server side で markupとして返却するstringは
Handler
component
app.get('/videos', function(req, res) {
Router.run(routes, req.path, function(Handler) {
res.render('index', {
initialData: JSON.stringify(data),
markup: React.renderToString(React.createElement(Handler, {params: {videos: data}}))
});
});
});
- 上のコードはあくまで例にすぎないが、これだとURL直叩きで
/videos/youtube
にアクセスするとCannot GET
- ので正規表現でmatchさせると良い。
app.get(/^\/videos/, function(req, res) {
.....
});
参考: app.use - express - api