有些特殊情况需要部署到子路径下,例如:https://www.ruoyi.vip/admin,可以按照下面流程修改。
1、修改vue.config.js中的publicPath属性
publicPath: process.env.NODE_ENV === "production" ? "/admin/" : "/admin/",
2、修改router/index.js,添加一行base属性
- export default new Router({
- base: "/admin",
- mode: 'history', // 去掉url中的#
- scrollBehavior: () => ({ y: 0 }),
- routes: constantRoutes
- })
3、/index路由添加获取子路径/admin
修改layout/components/Navbar.vue中的location.href
location.href = '/admin/index';
修改utils/request.js中的location.href
location.href = '/admin/index';
4、修改nginx配置
注:本人踩了一个坑:把nginx的alias写成root,花了1小时,发现问题,主要原因是对nginx的熟悉
- location /admin {
- alias /home/ruoyi/projects/ruoyi-ui;
- try_files $uri $uri/ /admin/index.html;
- index index.html index.htm;
- }
打开浏览器,输入:https://www.ruoyi.vip/admin 能正常访问和刷新表示成功。