我在history模式下打包部署在tomcat项目静态图片文件怎么找不到呢,请求链接,路由也不对,为什么呢

来源:15-9 项目部署

我们是一家人

2020-10-23

我是这样写的

第一步:修改vue.config.js里面的

publicPath: process.env.NODE_ENV == ‘production’ ? ‘/base-learn/’ : ‘/’,
outputDir: ‘dist’,
assetsDir: ‘static’,

第二步:注释掉vue.config.js里面的代理

proxy: {}

第二步:修改请求全局请求

let baseUrl = ‘’ // 这里是一个默认的url,可以没有
switch (process.env.NODE_ENV) {
case ‘development’:
baseUrl = ‘http://mall-pre.springboot.cn’ // 这里是本地的请求url
break
case ‘production’:
baseUrl = ‘http://mall-pre.springboot.cn’ // 生产环境url
break
}
// 设置全局请求根路径
axios.defaults.baseURL = baseUrl + ‘/api’

第四步:在路由router里面加上

const router = new VueRouter({
mode: ‘history’, // 去除地址路径后的#号
base: ‘/base-learn/’, // 项目部署文件夹名称
routes
})

写回答

1回答

河畔一角

2020-10-25

如果你加了base-learn这一层,那就打完包后,就要把dist放到base-learn这个文件夹下,否则图片资源是找不到的。 另外,你得路由不需要加base地址吧,我理解应该是不需要。路由如果设置为history,那可能还需要做一些其它设计,建议用hash路由。

0
0

Vue全家桶实战 从零独立开发企业级电商系统

Vue全家桶构建企业级电商系统,真实服务端数据对接,高实用性

2560 学习 · 1307 问题

查看课程