vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > nginx配置vue项目history的路由模式(非根目录)

nginx如何配置vue项目history的路由模式(非根目录)

作者:养只猫

这篇文章主要介绍了nginx如何配置vue项目history的路由模式(非根目录),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue的路由分为两种hash和history,hash路由虽然不需要做太多的配置但是url地址上会有一个很丑的#号。

而history模式的路由不会有这个#号但是带来的问题却是刷新页面之后会404找不到页面,原因是spa单页面是通过js来进行跳转的。

浏览器根据路由地址是找不到服务器上相关的文件的,所以这里需要进行相应的服务器配置。

这里我选用的是nginx服务器

vue项目中

vue.config.js

router.js

然后npm run build打包。

nginx相关的配置

 server {
        listen       81;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location ^~/test {
             #root /test/;             #项目路径
             index index.html;                        
             try_files $uri $uri/ /test/index.html;        #匹配不到任何静态资源,跳到同一个index.html
             error_page 404 /test/index.html;//404页面跳到同一个index.html
    }

nginx目录

项目是放在nginx服务器根目录下的test文件夹下的

启动nginx浏览器访问localhost:81/test/

选择到其中一个二级页面进入页面后刷新没有报404!!!大功告成!!!

补充:

nginx的相关操作

开启:在nginx安装的根目录运行cmd执行nginx命令

停止:nginx -t

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文