美文网首页
Vue路由设置mode模式为History 中页面404的原因及

Vue路由设置mode模式为History 中页面404的原因及

作者: Amy_yqh | 来源:发表于2018-06-20 14:18 被阅读0次

    我们使用vue+vue-router创建单页面应用的时候,一般会在router中设置mode:history,让我们的url更美观,也利于seo,如果单单只是设置的了这个,当页面刷新或者是手动添加路径的时候就会报404错误

    const router = new VueRouter({
      mode: 'history',
      routes: [...]
    })
    

    请看官网给我们的方案


    image.png

    当我们设置了mode为history时,当前端发送路径给服务端时,服务端根本就不认识省去#的url,所以返回给我们404.解决方法,请看下图,在webpack.config.client.js 的devServer中设置

    historyApiFallback:{
          index:'/index.html'//index.html为当前目录创建的template.html
    }
    
    image.png

    注意:如果webpack.config.base.js中的output设置了基路径,那么historyApiFallback也要添加

    webpack.config.base.js
     output: {
    
        filename: 'bundle.[hash:8].js',
        path: path.join(__dirname, '../dist'),
        publicPath: "/public/"
      },
    
    
    
    webpack.config.client.js
    
     historyApiFallback:{
          index:'/public/index.html'
      }
    
    image.png
    image.png

    相关文章

      网友评论

          本文标题:Vue路由设置mode模式为History 中页面404的原因及

          本文链接:https://www.haomeiwen.com/subject/agfxyftx.html