Vue-cli3多页面配置详解

  

Vue-cli3发布已经好长时间了,笔者也在一直使用,由于公司业务需要要使用多页面配置,于是花时间研究了一下Vue-cli3如何配置多页面。由于Vue-cli3相比之前的版本做了很大的改动,在研究过程中也遇到一些问题。

  

对于Vue-cli3创建项目这里就不做太多的赘述了,毕竟不属于本文内容,有关相关博客也有很多,大家可以自谷歌一行下就好了。

  


  

  

在项目中我们用到的大多数都是单页面应用(spa),对于多页面可能用到的比较少一些,具体还是要根据具体的业务情况,去觉得自己的技术选型。具体应该如何应用可以酌情考虑。

  

<强>单页面应用(spa)
  

  

单页面:单页面,简单的理解就是一种结构布局很简单的静态页面。——节选自百度百科

  

通俗的的来讲单页面就是只有一个html页面,所有跳转方式都是通过组件切换完成的。正如我们平时所用的Vue一样,但是Vue同样借助了Vue-Router完成了对页面(组件)的切换来实现页面之间的跳转(即组件间的切换)。

  

单页面的到来给前端带来很大的好处,由于资源只需要加载所以页面之间跳转流畅,实现了组件化的的开发,组件的重复利用,大大增加了开发的速度以及降低了项目的维护成本。

  

单页面应用既然有诸多的好处,当然同样也会带来很多的一些弊端,由于单页面应用在初次访问时需要加载全部的资源所以,首屏的加载速度会变得有一些慢。

  

<强>多页面应用(mpa)
  

  

多页面:整个项目有多个html,所有跳转方式都是页面之间相互跳转的。

  

多页面与与传统的开发类似,除当前页面的路由以外都是使用的标签进行跳转的。当前路由仍然是使用Vue-Router进行跳转。

  

多页面应用由于只会加载当前访问页面所需要的资源,所以首屏加载速度很快,只加载本页所使用的css, js,而且多页面应用相比单页面应用SEO要比单页面应用要好很多的。

  

多页面由于只会获取当前页面所需要的资源,那么这样在进行页面之间跳转的时候导致会重新获取和加载资源,导致页面之间的跳转回变慢一些。

  


  

  

首先使用Vue-cli3脚手架创建一个Vue项目,创建完项目之后在根目录中创建vue.config.js,用来增加Vue的webpack配置项。

        让水珠=要求(“水珠”);//配置页面多页面获取当前文件夹下的html和javascript   函数getEntry (globPath) {   让条目={},tmp, html={};//读取src/页面/* */底下所有的html文件   glob.sync (globPath +“html”) .forEach(函数(条目){   tmp=entry.split (“/? .splice (3);   html (tmp[1]]=条目   })//读取src/页面/* */底下所有的js文件   glob.sync (globPath + ts) .forEach(函数(条目){   tmp=entry.split (“/? .splice (3);   条目[tmp [1]]={   条目,//当前目录没有有html则以共用的公共/index . html作为模板   模板:html (tmp [1]) & # 63;html (tmp [1]]:“index . html”,//以文件夹名称. html作为访问地址   文件名:tmp [1] + . html的   };   });   返回条目;   };   让html=getEntry (’。/src/视图/* */*。”);   模块。出口={   页:html文件,   publicPath:”。/,//解决打包之后静态文件路径404的问题   outputDir:“输出”,//打包后的文件夹名称,默认dist   devServer: {   开放:真的,//npm运行服务自动打开浏览器   指数:'/索引。html的//默认启动页面   },   productionSourceMap:假   };   之前      

创建好vue.config.js之后,删除App.vue和main.ts (main.js)文件,并在视图文件夹下创建两个新的文件夹指数和,可以使用其他名称。这里的文件夹用来分散多个页面内容。

  

在索引文件夹下面创建index . html, index.vue, main.ts,文件也是如此。

  

index . html         & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt;元http-equiv=癤-UA-Compatible”内容=癐E=边缘”比;   & lt;元name=笆哟啊蹦谌?翱矶?设备宽度,初始=1.0”比;   & lt;链接rel="偶像" href=" https://www.yisu.com/zixun/favicon.ico " rel=巴獠縩ofollow”比;   & lt; title> & lt; %=htmlWebpackPlugin.options。标题%祝辞& lt;/title>   & lt;/head>   & lt; body>   & lt; noscript>   & lt; strong>我们很抱歉但& lt; %=htmlWebpackPlugin.options。标题%比;不正常工作,不启用JavaScript。请让它继续。你们;/strong>   & lt;/noscript>   & lt; div id="应用"祝辞& lt;/div>   & lt; !——构建文件将自动注入比;   & lt;/body>   & lt;/html>   

Vue-cli3多页面配置详解