vue项目打包后,生产环境下页面刷新出现Cannot Get

问题描述

本地npm run dev时,页面刷新能够显示内容,路由模式为mode:'history',打包后,起一个node服务,页面刷新出现Cannot Get

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

export default new Router({
  mode: 'history',
  base:'/',
  routes: [
    {
        path: '/',
        redirect: '/recommend'
    },
    {
        path:'/rank',
        component: Rank,
        children: [
            {
                path: ':id',
                component: TopList
            }
        ]
    },
    {
        path:'/recommend',
        component: Recommend,
        children: [
            {
                path: ':id',
                component: Disc
            }
        ]
    },

clipboard.png

clipboard.png

刷新后就出现Cannot Get

你期待的结果是什么?实际看到的错误信息又是什么?

路过的看官给支支招

阅读 5.2k
4 个回答

生产环境部署好后第一次刷新这样么,清下缓存试试呢,有没有看看network里,是否是vue打包后哈希值变化而导致的资源获取不到呢

另起一个node服务, 这个服务是不是配置了和dev-server一样的服务端 router?

这个是因为访问 localhost:9000/recommend 的时候,node里面并没有配置这个路由。
解决办法是无论访问哪一个路由,都让服务端返回index.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题