vue配置文件中的 publicPath和路由里的配置参数base的作用及区别

1.vue.config.js 中的 publicPath使用及作用

代码示例:publicPath: '/project/'

这里一般在hsah路由模式下默认的是 ./ 路径,如果是在history路由模式下,一般需要在服务器配置项目页面访问路径,否则刷新页面会出现404,找不到路径页面。

那么,/project/ 一般是作为在部署环境上配置的项目路径名称。比如在 nginx里配置的 location /project {} ,项目这里则需要与服务器上配置的项目路径保持一致,故publicPath主要用于线上项目部署环境下的正确路径配置。

2. vue路由Router里的配置项base使用及作用

代码示例:

new Router({
	mode: 'history', // 如果你是 history模式 需要配置vue.config.js publicPath
	base: 'project',
	scrollBehavior: () => ({ y: 0 }),
	routes: constantRouterMap
});

这里面的base参数,在hash模式下,一般不需要配置,默认根路由,如果在history模式下,由于项目配置了 /project/ ,如果不配置此项,则刷新页面后,路由会变成域名加根路由,缺失 /project/ 基础路由路径,会导致整个路由路径不对,所以,这里配置完后,每次重新登录或刷新页面都不会出现找不到页面的问题,刷新也不会出现url不对的问题。

如果在history路由模式下,一般改配置的话,两个都要一起改。一个针对的是项目部署的路径问题,一个针对的是页面路由url的路径问题,缺一不可。

以上其实都是主要在history路由模式下一般才会改动,大多数hash情况下,不是非必须的话,一般不用自己修改配置。

你可能感兴趣的:(vue,vue.js,前端,vue.config.js,Router,vue路由配置)