vue-cli3本地调试改为mode:history后报错,无法访问页面

router.js

export default new Router({
  mode: 'history',
  // base: './',
  routes: [
    {
      path: '/',
      name: 'home',
      redirect: '/fund',
      component: () => import('@/views'),
      children: [
        {
          path: 'fund/:code',
          name: 'fund',
          component: () => import('@/views/fund')
        },
        {
          path: 'manager/:code',
          name: 'manager',
          component: () => import('@/views/manager')
        },
        {
          path: 'company/:code',
          name: 'company',
          component: () => import('@/views/company')
        },
      ]
    },
  ]
})

地址栏访问:

http://localhost:8080/fund/000001

报错image.png

查了很多都是打包相关的配置,但我这个是在本地调试的时候就报错了

改成hash没有任何错误,不知道问题出在哪里?

阅读 324
评论
    4 个回答
    export default new Router({
      mode: 'history',
      base: process.env.BASE_URL,
      routes: []
    })

    自行解决了,主要加了行 base: process.env.BASE_URL 就可以了

      出现这个一般是代码中有错,比如中文标点符号、双符号未闭合等,仔细检查一下代码。不大可能因为字符串内容不一样就会报这个错误

        • 16k

        这里我怀疑是你的接口抛出的异常呀

        hash 是不需要劫持所有路由的。但是 history 需要劫持所有路由

          光配置你贴上来的代码段,并没有遇到你说的这个问题.你看看是不是因为业务代码里边出现问题了.

            撰写回答

            登录后参与交流、获取后续更新提醒