问题描述:
history模式的优点就是url中没用难看的#,作为有强迫症的程序员来说肯定喜欢以history模式打包vue项目的,但是我们都知道history模式是需要后台支持的,因为vue属于单页面应用,后台需要把所有的请求转发的index.html页面。那么,码云虽然支持静态网页的部署,到底能不能支持单页面页面应用呢?答案是可以的。
解决方案:
一、
首先新建项目,并且开启Pages服务后你会看到【 已开启 Gitee Pages 服务,网站地址:http://wayla.gitee.io/compage 】
这段描述,这就是我们页面的访问地址,注意compage这个名字,这个是你新建仓库的名字,后续修改以你的仓库名字为准,这里我以我的compage仓库为例,这是一个二级目录,即:不是网站的更目录,所以我们需要修改打包的目录和路由。
(1)修改打包目录:在vue.config.js修改 publicPath: "/compage/" ;
(2)修改路由配置:增加配置项base:"/compage/"。
export default new Router({
mode: 'history', // 去掉url中的
base: '/compage/',
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
})
二、
在打包后的更目录中新增.文件名为.spa的空白文件,有了这个文件,当用户刷新页面时候,服务器就自动重定向到index.html页面,不会出现404的情况。打包后的目录如下:
三、
注意:每次对打包后的项目做了修改后,都需要在码云的Pages服务中去跟新一下服务器,这样你就可以看到修改后的效果了,好了,自己去试试吧~
如果你还需要交流问题,
如果你还有不了解的地方,
如果你也在使用vue
一起学习探讨吧。........
可以加入我们的基地,我们基地的地址是:450342630(QQ群号)