vue+nginx配置不带#的路径访问

vue+nginx去掉路径中的#
nginx代理多个web项目,所以新增的vue web项目不能直接使用location /
现在有一个项目distribute,vue改动如下
1.修改路由src/router/index.js

export default new Router({
  base: '/distribute/', //多项目情况下的本项目名称
  mode:'history',  //这个是去除路径中显示的#
  routes: [...]    //正常设置的路由信息
})

2.修改build,config/index.js,不必须

  build: {
    // Template for index.html
    index: path.resolve(__dirname, '../distribute/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../distribute'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/distribute/',    //一般把原来的'/',改为'./'即可编译使用,多项目情况下加了项目名称
    
    .....
  }


  
3.修改index.html,不必须,视情况而定



  
        
    
    
    distribute
  
  
    
     

 

以上3个步骤,router是必须要修改,如果index.html中添加了,可以不用修改build/config/index.js中的dist路径,assetsPublicPath是一定要改的

 

nginx配置

    location ^~ /distribute/ {
        root /home/www/;
        try_files $uri $uri/ /distribute/index.html;
        index index.html index.htm;
    }

 

你可能感兴趣的:(Vue,nginx)