Vue Routes 在生产中无法正常工作

dlf*_*fjj 2 routes vue.js server vue-router vuejs2

我是 vuejs 新手。对于我的 Vuejs 应用程序,在运行“npm run build”后,我无法访问 Web 托管服务器中的“/foo/apple”等 url。它显示错误 404 我正在使用 HTML5 历史模式(https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations)并且我实现了“connect-history-api- dev-server.js 中的后备”如下所示:

const express = require('express')
const app = express()
app.use(require('connect-history-api-fallback')())
Run Code Online (Sandbox Code Playgroud)

我的路由器/index.js

export default new Router({
  mode: 'history',
  {
      path: '/Product',
      name: 'Product',
      component: Product,
  },
  {
      path: '/Product/kraftbag',
      name: 'Kraftbag',
      component: Kraftbag
  },
}); 
Run Code Online (Sandbox Code Playgroud)

我的网站http://americandunnage.n55lwi.info/。我查了很多关于这个问题的帖子,但仍然可以找到解决方案。

Dan*_*iel 5

你可能错过了 hashbang ( #)

尝试#/foo/apple代替/foo/apple

vue-router默认设置是使用hashbang方法。这依赖于使用index.html(或任何默认为/url)页面,因为它后面的所有内容都不会被视为url位置的一部分,而是传递到应用程序中。例如,在锚点中,<a href="index.html#first-heading">1st heading</a>这将转到页面的一部分,如果您已经在该页面上,则不会被重定向。

  • 哦,我想我只是放弃历史模式。现在效果很好。 (3认同)