我是vuejs的新手。对于我的Vuejs应用程序,运行“ npm run build”后,无法访问Web托管服务器中的URL,如“ / foo / apple”。它显示错误404,我正在使用HTML5历史记录模式(https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations),并且在dev-server.js中实现了如下所示的“ connect-history-api-fallback”:
const express = require('express')
const app = express()
app.use(require('connect-history-api-fallback')())
我的router / index.js
export default new Router({
mode: 'history',
{
path: '/Product',
name: 'Product',
component: Product,
},
{
path: '/Product/kraftbag',
name: 'Kraftbag',
component: Kraftbag
},
});
我的网站http://americandunnage.n55lwi.info/。 我已经寻找了很多有关此问题的帖子,但仍然可以找到解决方案。
答案 0 :(得分:3)
您可能会错过哈希爆炸(#
)
尝试用#/foo/apple
代替/foo/apple
vue路由器的默认设置是使用 hashbang方法。这依赖于使用index.html(或默认为/
url的页面)页面,因为其后的所有内容均不作为url位置的一部分,而是传递给应用程序。例如,在锚点<a href="index.html#first-heading">1st heading</a>
中,该链接将转到页面的一部分,如果您已经在该页面上,则不会被重定向。