gpt4 book ai didi

ReactJS 路由/浏览器同步重新加载/path 会产生 Cannot Get/Path 错误

转载 作者:行者123 更新时间:2023-12-03 13:32:43 25 4
gpt4 key购买 nike

我正在构建一个基本的 React/Flux 应用程序,并使用 React-router-component 进行路由,使用 browser-sync 进行构建更改时的实时重新加载,并使用 browserify 进行依赖项注入(inject)。

我遇到的问题是,当实时重新加载或任何重新加载发生在不是 / 的路径上时(即 /profile/gallery 等...),我收到一条错误消息 Cannot GET /path (或任何与此相关的路由)。

我怀疑这与它是单页面应用程序并且所有路由都在客户端上完成这一事实有关。

这是我的浏览器同步设置(非常基本)。我认为我可能需要添加一些中间件,但我不确定实际要在中间件中放入什么。

gulp.task('browser-sync', function() {
browserSync({
server: {
baseDir: './client'
},
notify: false
});
});

最佳答案

这可能是因为无论您使用什么 Web 服务器来为您的应用程序提供服务,都试图在服务器端实际查找/profile 或/gallery。您需要指示您的服务器对任何内容的所有请求都转至 root。有时,根据您的软件,这称为“html 5 模式”。

我注意到浏览器同步 git 存储库上有一篇关于此问题的帖子,其中提供了可能的解决方案:https://github.com/shakyShane/browser-sync/issues/204

但基本思想是让服务器将 *.js 或 *.css 以外的所有内容发送到 ./index.html(假设这是您应用程序的入口点文件)。这样,服务器本身就不会查找这些路由,它只是加载您的应用程序,然后可以在客户端自由地正确解析它们。

希望这有帮助。

关于ReactJS 路由/浏览器同步重新加载/path 会产生 Cannot Get/Path 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25770843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com