反应路线path =“ /”原因无法获取错误

时间:2020-06-10 12:40:58

标签: javascript reactjs webpack url-routing

我最终遇到的情况是,单击“主页”页面的链接会将斜杠设置为为basename配置的router,并导致Cannot GET /basename/错误。

<NavLink className="logo" to="/"></NavLink>
<NavLink to="/contact">Contact</NavLink>

<Router basename="/en">
    <Route path="/">
    <Route path="/contact">
</Router>

几对事实:

  • 打开页面或手动输入网址domain.com/en很好
  • 单击指定的链接之一(例如联系人)会打开domain.com/en/contact,并且效果很好
  • 点击徽标将网址设置为domain.com/en/,并将causes Cannot GET /en/设置为

在我通过将publicPath: '/'添加到output来对webpack进行修改之后,该斜杠开始出现在这里。

output: {
    publicPath: "/",
    filename: "js/main.[hash:8].js",
}

我这样做的原因是因为使用Suspenselazy时,react是在.js内寻找其他/en/模块。该问题已由publicPath解决,但是我又遇到了另一个问题。有人解决过类似的问题吗?

0 个答案:

没有答案