我该如何解决这个问题:使用 Heroku 单击链接时出现错误 404?

问题描述

我使用 Create React App、Json Server 和 React Router,everythink 工作正常,页面上的所有链接都工作正常,但一个带有 path="/:vendorCode"链接指向 ProductContainer 组件。 >

因此,当我单击此链接时,我在控制台中看到 404 错误。我怎么解决这个问题?这个问题只出现在heroku上...

function App() {
    return (
        <browserRouter>
            <div className="wrapper">

                <Switch>
                    <Route exact path="/cart" component={CartPage} />
                    <Route exact path="/" component={Main} />
                    <Route exact path="/:vendorCode" component={ProductContainer} />
                </Switch>
            </div>
        </browserRouter>
    )
}

这是我的 server.js

const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('./public/db.json');
const middlewares = jsonServer.defaults({
    static: './build',});
const PORT = process.env.PORT || 3001;


server.use(middlewares);
server.use(router);


server.listen(PORT,() => {
    console.log('Server is running');
});

而且我还有一个推荐的 static.json 文件

{
  "root": "build/","clean_urls": false,"routes": {
    "/**": "index.html"
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...