Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react router dom在使用Express后端的生产环境中不起作用_Javascript_Reactjs_Express - Fatal编程技术网

Javascript react router dom在使用Express后端的生产环境中不起作用

Javascript react router dom在使用Express后端的生产环境中不起作用,javascript,reactjs,express,Javascript,Reactjs,Express,我在生产环境中遇到react路由器dom的重定向问题。这是我开发的网站:。如果您单击其中一个问题,应用程序将重定向到该问题的链接。但是如果你在地址栏中粘贴一个问题的链接并点击回车键,例如当你点击。发生404错误。本地主机中不会发生此问题 我做了一些研究,似乎react路由器dom在生产环境中不起作用。路由器的代码如下所示: import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; <R

我在生产环境中遇到react路由器dom的重定向问题。这是我开发的网站:。如果您单击其中一个问题,应用程序将重定向到该问题的链接。但是如果你在地址栏中粘贴一个问题的链接并点击回车键,例如当你点击。发生404错误。本地主机中不会发生此问题

我做了一些研究,似乎react路由器dom在生产环境中不起作用。路由器的代码如下所示:

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

      <Router>
              <Route exact path='/' component={Home} />
              <Route exact path='/about' component={About} />
              <Route exact path='/contact' component={Contact} />
              <Route exact path='/help' component={Help} />

              <Switch>
                <Route exact path="/login" component={Login} />
                <Route exact path="/register" component={Register} />
                <Route exact path="/users" component={Users} />

                <Route exact path="/users/:user_id" component={Profile} />
                <Route exact path="/tags" component={TagsPage} />

                <PrivateRoute exact path="/questions/ask" component={CreateQuestion} />
                <Route exact path="/questions/:question_id" component={QuestionsPage} />
              </Switch>
      </Router>

但由于某些原因,它仍然不起作用。我做错了什么?

现在对我有效如果你点击第二个链接,它有效吗?不,现在不行。这回答了你的问题吗?
if (process.env.NODE_ENV === 'production') {
  app.use(express.static('client/build'));
  app.get('*', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
  })
}