小龙女妈妈 發表於 2019-7-1 22:56:00

vue history 模式打包部署在域名的二级目录的配置指南

<p><span style="font-size: 18px"><span style="font-family: 宋体">  最近在做项目,需要把项目部署在域名下的二级目录,并且是在用</span>vue-router<span style="font-family: 宋体">的</span><span style="font-family: Calibri">history </span><span style="font-family: 宋体">模式。</span></span></p>
<p><span style="font-size: 18px"><span style="font-family: 宋体">  我们都知道</span>vue-router <span style="font-family: 宋体">的两种前端基本访问模式 </span><span style="font-family: Calibri">hash </span><span style="font-family: 宋体">和</span><span style="font-family: Calibri">history </span><span style="font-family: 宋体">。</span><span style="font-family: Calibri">hash </span><span style="font-family: 宋体">模式后面带</span><span style="font-family: Calibri">#</span><span style="font-family: 宋体">,打包的时候只需要把绝对路径</span><span style="font-family: Calibri">(/)</span><span style="font-family: 宋体">换成相对对路径(</span><span style="font-family: Calibri">./</span><span style="font-family: 宋体">),就可以部署在任何地方,不需要服务器配合,但是不好看,所以我们一般选择</span><span style="font-family: Calibri">history </span><span style="font-family: 宋体">模式,但是</span><span style="font-family: Calibri">history </span><span style="font-family: 宋体">模式需要配合服务器的部署。</span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt"><span style="font-family: 宋体">本文主要是在</span>vue-cli3版本<span style="font-family: 宋体">下,对部署在域名的二级目录下做四处的配置:</span></span></p>
<h3><span style="color: rgba(255, 0, 0, 1); font-size: 14pt">1. vue-router&nbsp;路由的文件的配置,根据自己部署的二级目录填写</span><span style="color: rgba(255, 0, 0, 1); font-size: 14pt"> </span></h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span>export <span style="color: rgba(0, 0, 255, 1)">default</span> <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> VueRouter({
</span><span style="color: rgba(0, 128, 128, 1)">2</span>   mode:"history"<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 128, 1)">3</span>   base:"/web",</pre>
</div>
<h2>&nbsp;</h2>
<h2><span style="color: rgba(255, 0, 0, 1)"><span style="font-size: 14pt">2.</span><span style="font-family: 宋体">在</span>vue.config.js<span style="font-family: 宋体">配置文件(如果没有新建一个,项目根目录下)</span></span></h2>
<p>&nbsp;<span style="font-size: 18px">注意: <strong style="font-size: 18px">baseUrl</strong><strong style="font-size: 18px">&nbsp;</strong><span style="font-family: 宋体">从</span> Vue CLI 3.3 起已弃用,请使用publicPath<span style="font-family: 宋体">。</span></span></p>
<div class="cnblogs_code">
<pre>module.exports =<span style="color: rgba(0, 0, 0, 1)"> {
  publicPath:</span>"/web"<span style="color: rgba(0, 0, 0, 1)">
}</span></pre>
</div>
<p>&nbsp;</p>
<h2><span style="color: rgba(255, 0, 0, 1)">3.<span style="font-family: 宋体">在入口文件中</span>index.html <span style="font-family: 宋体">的</span><span style="font-family: Calibri">head </span><span style="font-family: 宋体">标签内加入</span></span><span style="color: rgba(255, 0, 0, 1); font-size: 14pt"> </span></h2>
<div class="cnblogs_code">
<pre> &lt;meta base ="/web/"&gt;</pre>
</div>
<h2>&nbsp;</h2>
<h2><span style="color: rgba(255, 0, 0, 1)">4</span><span style="color: rgba(255, 0, 0, 1)">.<span style="font-family: 宋体">最后就是部署配置,以</span>nginx <span style="font-family: 宋体">为例</span></span><span style="color: rgba(255, 0, 0, 1)"><span style="font-family: 宋体">   </span></span></h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">server {
    listen </span>80<span style="color: rgba(0, 0, 0, 1)">;
    server_name localhost;
    root </span>/home/wwwroot/;
    location /web {
      try_files $uri $uri/ /web/<span style="color: rgba(0, 0, 0, 1)">index.html;
    }
}</span></pre>
</div>
<p>到此,配置和部署已经完成了,将打包好的前端静态资源放在域名指定的根目录下的二级(多级目录配置同上)录即可,</p>
<p>注意,以上配置是针对在history模式,部署在域名下的二级目录以上的 配置,hash 模式 和 history 模式部署在域名根目录不需要那么多配置</p>
<p>本人测试过部署过,只要按照以上配置四个地方,完全没有问题,但是有不对之处,还请大家指出,谢谢....</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/beyonds/p/11117338.html
頁: [1]
查看完整版本: vue history 模式打包部署在域名的二级目录的配置指南