最近在做项目,需要把项目部署在域名下的二级目录,并且是在用vue-router的history模式。
我们都知道vue-router的两种前端基本访问模式hash和history。hash模式后面带#,打包的时候只需要把绝对路径(/)换成相对对路径(./),就可以部署在任何地方,不需要服务器配合,但是不好看,所以我们一般选择history模式,但是history模式需要配合服务器的部署。
本文主要是在vue-cli3版本下,对部署在域名的二级目录下做四处的配置:
1.vue-router路由的文件的配置,根据自己部署的二级目录填写
1exportdefaultnewVueRouter({
2mode:"history",
3base:"/web",
2.在vue.config.js配置文件(如果没有新建一个,项目根目录下)
注意:baseUrl从VueCLI3.3起已弃用,请使用publicPath。
module.exports={
publicPath:"/web"
}
3.在入口文件中index.html的head标签内加入
<metabase="/web/">
4.最后就是部署配置,以nginx为例
server{
listen80;
server_namelocalhost;
root/home/wwwroot/;
location/web{
try_files$uri$uri//web/index.html;
}
}
到此,配置和部署已经完成了,将打包好的前端静态资源放在域名指定的根目录下的二级(多级目录配置同上)录即可,
注意,以上配置是针对在history模式,部署在域名下的二级目录以上的配置,hash模式和history模式部署在域名根目录不需要那么多配置
本人测试过部署过,只要按照以上配置四个地方,完全没有问题,但是有不对之处,还请大家指出,谢谢....
如果您觉得本文的内容对您的学习有所帮助:
关键字:
html