2016-04-28 23 views
2

我正在努力实现图像查看器并使用React路由器。上传的图像文件的格式为<name>.<type-suffix>-<date-tag>,以句号和hypen作为分隔符。点和连字符不允许React路由器URL参数?

鉴于此路线:<Route path="zoomer/:imageId" component={ Zoom }/>和此URL http://localhost:8080/zoomer/medMain.tif-1461839237863它似乎并没有找到匹配的路由器。

如果我删除点和连字符(例如http://localhost:8080/zoomer/medMaintif1461839237863)路由工作得很好,但我真的需要保留这些分隔符的语义原因。而URLEncode()也不会帮助我。

有没有我需要做的路线规范来解决这个问题?

回答

2

我有同样的问题证明是webpack dev服务器与history-api-fallback启用未能将这些网址传递给反应的应用程序。黑客的webpack配置,以通过这些作出反应:

... 
devServer: { 
    proxy: { 
    '/*.*': { // Match all URL's with period/dot 
     target: 'http://localhost:8080/', // send to webpack dev server 
     rewrite: function(req){ 
     req.url='index.html'; // Send to react app 
     } 
    } 
    } 
} 
...