部署在二级目录
部署在二级目录的时候需要对代码做一些修改
1. 添加 VITE_APP_BASE_PATH 变量,方便一键修改,各个地方都生效
在.env.development、.env.production、.env.staging文件中分别添加 VITE_APP_BASE_PATH
比如 production 正式环节部署在 demo 目录修改就是如下
# 页面标题
VITE_APP_TITLE = 赤子心智管理系统
# 生产环境配置
VITE_APP_ENV = 'production'
# 赤子心智管理系统/生产环境
VITE_APP_BASE_API = '/prod-api'
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip
# 部署二级目录路径
VITE_APP_BASE_PATH = '/demo/'
2. vite.config.js 文件修改
base: VITE_APP_ENV === "production" ? env.VITE_APP_BASE_PATH || "/" : "/",
其实我感觉如果上面的env文件如果都配置了 VITE_APP_BASE_PATH 的话直接下面的就行
base: env.VITE_APP_BASE_PATH
3. src/router/index.js 文件修改
4. src/layout/components/Navbar.vue 退出登录修改
import router from '@/router'
function logout() {
ElMessageBox.confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
userStore.logOut().then(() => {
console.log('退出')
router.push('/login') // 不要再用 location.href
})
}).catch(() => { })
}
src/utils/request.js登录过期重新登录
import router from '@/router'
// location.href = '/index'
router.push("/index"); // 不要再用 location.href