vue.js 某些页面、代码和直接链接在我的本地安装程序上可以正常工作,但在服务器上不能

hjzp0vay  于 2023-04-21  发布在  Vue.js
关注(0)|答案(1)|浏览(135)

我已经在Vue.js上创建了一个项目,但问题是有些代码和直接页面链接在localhost上可以工作,但在服务器上,却存在一些问题。例如,在某些页面上注销按钮不起作用。我将注销按钮放在了标题上,这在所有网站页面上都是一样的。我不明白为什么它只在服务器上的1-2个页面上不工作,而在本地工作正常。另外,当我转到website.com/service/a时,它在服务器上显示一个空白页面,但它在桌面上工作。在服务器上,如果我转到服务页面,该页面上的链接工作正常,但当我尝试直接打开它们时,它们不起作用。我已经运行了npm run build,但我仍然有问题。控制台显示块错误,但是即使在再次上传完整的项目之后,问题仍然存在。

3pvhb19x

3pvhb19x1#

您似乎已经使用历史API实现了routing
历史API是一种告诉浏览器“我正在使用JavaScript更改页面,以便它与您从此URL加载全新页面相同”的方法。浏览器然后更新其历史记录(因此后退按钮起作用)和地址栏中的URL,而无需对URL进行新请求。
您的问题是您没有在生产环境中设置服务器来处理该URL,因此当您访问该URL时(而不是使用历史API来假装访问它)。
(In如果你的开发环境中有任何未知的URL,开发服务器将发送一个引导HTML文档,该文档将加载你的应用程序,然后用客户端JS填充空白。
你应该实现server side rendering (as per the Vue manual)
或者,您可以使用散列路由。

相关问题