我有一个使用React和React-router v4的单页Web应用程序正在服务并从golang后端使用API。
问题是:客户端正在请求hostname:port/download/file_name
形式的文件的下载链接,但是由于后端运行在相同的主机名:端口(静态服务),因此react-router正在处理下载链接为应用内导航,因此会产生前端的404
<Router>
<Switch>
<Route exact path='/' component={WelcomeScreen} />
<Route path='/grades' component={LevelYearScreen} />
<Route path='/grade/:gradeId' component={SubjectScreen} />
<Route path='/subject-:subjectId/term-:termIndex' component={LessonSectionsScreen} />
<Route path='*' component={NotFoundPage} />
</Switch>
</Router>
提取网址后,我导航到网址以下载文件
window.location.href = response.fileUrl;
我还尝试使用<a href="fileUrl"/>
和反应路由器<Redirect>
似乎没有任何效果。如果将链接手动复制并粘贴到浏览器的地址栏,则会发生同样的情况。但是如果缓存中没有js包(例如私有窗口),则正常下载文件。
有没有办法排除&#34; / download&#34;来自react-router的路由?