一、vue项目携带一个#会对开发造成一定的影响:
1、微信三方登录回调地址,有#号时,接收不到code参数
2、微信H5支付的回调地址,不允许有#
3、App分享,处理特殊字符时,可能会对#进行编译
现在网站大多有三方登录,支付等功能,存在#,项目开发就存在很大的障碍。话不多说,开始去掉#吧。
二、去掉#方法
在router/index.js文件中,添加history模式
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
mode: 'history',
base: '/project-name/', //如果项目根目录不为域名,则添加该行
routes: [{}]
})
三、遇到的问题
1、当修改完成后,发现处理更目录,其他页面直接跳转无法访问到了。我这边,由于项目用于是微信公众号,所以并没有什么影响。
如果其他页面也需要访问的话,提供一个思路(猜测,没实际尝试),可以通过路由拦截器,再路径上加参数实现。
router.beforeEach((to,from,next) => {
//拦截所有路由跳转
})